Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengutamakan Medan dalam Carian Teks Penuh MySQL untuk Perkaitan yang Dipertingkatkan?
Mengutamakan Medan dalam Carian Teks Penuh MySQL untuk Perkaitan Dipertingkat
Andaikan anda menghadapi situasi di mana anda mempunyai dua lajur, "kata kunci" dan "kandungan ," dalam jadual dan indeks teks penuh asas yang merangkumi kedua-dua lajur. Walau bagaimanapun, anda ingin memberikan baris yang mengandungi istilah khusus dalam lajur "kata kunci" lebih tinggi kaitannya berbanding baris yang mengandunginya dalam lajur "kandungan".
Untuk menyelesaikan tugas ini dalam konteks penggunaan "padanan melawan" sintaks, anda boleh melaksanakan pendekatan berbilang muka:
Buat Berbilang Indeks Teks Penuh:
Tubuhkan tiga indeks teks penuh:
Leverage Pengiraan Perkaitan Berwajaran:
Dalam pertanyaan anda, dapatkan semula skor perkaitan untuk padanan "kata kunci" dan "kandungan" secara berasingan. Kemudian, gabungkan markah ini menggunakan penambahan berwajaran, mengaitkan wajaran yang lebih tinggi kepada perkaitan "kata kunci":
SELECT id, keyword, content, MATCH (keyword) AGAINST ('watermelon') AS rel1, MATCH (content) AGAINST ('watermelon') AS rel2 FROM table WHERE MATCH (keyword,content) AGAINST ('watermelon') ORDER BY (rel1*weight_factor)+(rel2) DESC
Pendekatan ini membolehkan anda mengutamakan kepentingan lajur "kata kunci" untuk menentukan perkaitan dokumen dalam pertanyaan carian teks penuh MySQL anda. Faktor pemberat dalam pengiraan membolehkan anda memperhalusi keutamaan istilah yang sepadan dalam lajur yang dikehendaki.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengutamakan Medan dalam Carian Teks Penuh MySQL untuk Perkaitan yang Dipertingkatkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!