Rumah  >  Artikel  >  pangkalan data  >  Bagaimana Memesan Hasil Carian Teks Penuh MySQL mengikut Relevan?

Bagaimana Memesan Hasil Carian Teks Penuh MySQL mengikut Relevan?

Patricia Arquette
Patricia Arquetteasal
2024-11-05 07:21:02280semak imbas

How to Order MySQL Fulltext Search Results by Relevance?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn