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

Pencarian MySQL Fulltext Boolean Mode mengembalikan terlalu banyak hasil

Untuk meningkatkan penyortiran hasil dalam mode boolean, Anda dapat menggunakan yang berikut ini:

SELECT column_names, MATCH (text) AGAINST ('word1 word2 word3')
AS col1 FROM table1
WHERE MATCH (text) AGAINST ('+word1 +word2 +word3' in boolean mode) 
order by col1 desc;

Menggunakan pertama MATCH() kami mendapatkan skor dalam mode penelusuran non-boolean (lebih khas) . kedua MATCH() memastikan kita benar-benar mendapatkan kembali hanya hasil yang kita inginkan (dengan semua 3 kata) .

Jadi kueri Anda akan menjadi:

SELECT *, MATCH (artist, title) AGAINST ('paul van dyk')
    AS score FROM tracks
    WHERE MATCH (artist, title) 
    AGAINST ('+paul +van +dyk' in boolean mode) 
    order by score desc;

Semoga; Anda akan mendapatkan hasil yang lebih baik sekarang.

Jika berhasil atau tidak berhasil; tolong beri tahu saya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan #1241 - Operan harus berisi 1 kolom di Mysql

  2. Bisakah Hibernate bekerja dengan sintaks ON DUPLICATE KEY UPDATE MySQL?

  3. Bergabunglah dengan dua tabel dan ekstrak harga terendah dengan beberapa kondisi (multiple sku)

  4. Bagaimana cara menghapus spasi antar baris di Textarea?

  5. Prosedur tersimpan tidak boleh digunakan di dunia php/mysql?