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

MySQL match() against() - urutkan berdasarkan relevansi dan kolom?

Ini mungkin memberikan peningkatan relevansi pada bagian kepala yang Anda inginkan. Ini tidak akan menggandakannya, tetapi mungkin cukup baik untuk Anda:

SELECT pages.*,
       MATCH (head, body) AGAINST ('some words') AS relevance,
       MATCH (head) AGAINST ('some words') AS title_relevance
FROM pages
WHERE MATCH (head, body) AGAINST ('some words')
ORDER BY title_relevance DESC, relevance DESC

-- alternatively:
ORDER BY title_relevance + relevance DESC

Alternatif yang juga ingin Anda selidiki, jika Anda memiliki fleksibilitas untuk mengganti mesin DB, adalah Postgres . Ini memungkinkan untuk mengatur bobot operator dan bermain-main dengan peringkat.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Lihat dengan Subquery di FROM Clause Limitation

  2. mysql -> masukkan ke tbl (pilih dari tabel lain) dan beberapa nilai default

  3. Kutipan tunggal, Kutipan ganda, dan Backtick di MySQL

  4. Cara termudah untuk tautan verifikasi email PHP

  5. Perintah tidak sinkron; Anda tidak dapat menjalankan perintah ini sekarang