Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Berikan beberapa bidang lebih relevan dan urutkan berdasarkan relevansi dalam pencarian teks lengkap mysql

Pertama, buat tiga indeks FULLTEXT:

* one on the title column
* one on the body column
* one on both title and body columns

Kemudian, buat kueri Anda dengan cara berikut:

SELECT field1, field2, field3, title, body,
MATCH (title) AGAINST ('word_to_search') AS rel_title,
MATCH (body) AGAINST ('word_to_search') AS rel_body
FROM table_to_use
WHERE MATCH (title,body) AGAINST ('word_to_search')
ORDER BY (rel_title*2)+(rel_body)

Ini akan memberi judul 2 kali lebih relevan daripada isi.

Ini cukup berguna ketika Anda perlu mengizinkan konten untuk diurutkan, misalnya, berdasarkan tag (yang tidak dilihat oleh pengguna) karena memungkinkan Anda untuk mengubah hasil dari balik layar.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menemukan transaksi mana yang menyebabkan status kunci metadata tabel Menunggu?

  2. kembalikan data group_concat sebagai array

  3. Kelemahan kinerja Kunci Utama Komposit di MySQL

  4. Menyimpan nilai heksadesimal sebagai biner di MySQL

  5. Membuat kehadiran di laravel