Rumah > Artikel > pangkalan data > Bagaimana Memesan Hasil Carian Teks Penuh MySQL mengikut Relevan?
Cara Kedudukan Hasil Carian Teks Penuh MYSQL mengikut Relevan
Soalan:
Bagaimana cara saya susun hasil carian teks penuh MYSQL mengikut perkaitan, mengutamakan padanan tepat dan mengisih padanan separa mengikut abjad?
Jawapan:
Untuk melakukan carian teks penuh dalam MYSQL, gunakan MATCH(. ..) AGAINST(...) construct bukannya operator LIKE. MATCH(...) AGAINST(...) mengembalikan skor perkaitan untuk setiap hasil, yang boleh digunakan untuk mengisih keputusan mengikut perkaitan.
Berikut ialah pertanyaan diubah suai yang menggunakan carian teks penuh dan mengisih hasil mengikut perkaitan:
SELECT * FROM `vocabulary` WHERE MATCH(`translation`) AGAINST ('word') ORDER BY MATCH(`translation`) AGAINST ('word') DESC;
Pertanyaan ini akan mengembalikan hasil dengan padanan tepat dahulu, diikuti oleh padanan separa yang diisih dalam tertib perkaitan menurun.
Contoh:
Pertimbangkan jadual perbendaharaan kata berikut:
id | translation |
---|---|
1 | word |
2 | crossword |
3 | words |
4 | wordsmith |
Menjalankan pertanyaan di atas dengan istilah carian "perkataan" akan mengembalikan hasil berikut yang disusun mengikut kaitan:
id | translation |
---|---|
1 | word |
2 | crossword |
3 | words |
4 | wordsmith |
Atas ialah kandungan terperinci Bagaimana Memesan Hasil Carian Teks Penuh MySQL mengikut Relevan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!