Mysql
 sql >> база данни >  >> RDS >> Mysql

Дайте на някои полета повече уместност и сортирайте по уместност в пълнотекстово търсене на mysql

Първо, създайте три индекса FULLTEXT:

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

След това изградете заявката си по следния начин:

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)

Това ще даде на заглавието 2 пъти по-голяма уместност от тялото.

Това е доста удобно, когато трябва да разрешите на съдържанието да бъде сортирано, например, по етикети (които не се преглеждат от потребителите), защото ви позволява да настройвате резултатите зад кулисите.




  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 1170 (42000):колона BLOB/TEXT, използвана в спецификацията на ключа без дължина на ключа

  2. получавайте последователи в Twitter, като използвате MySQL

  3. Преместване на ред от една таблица в друга (Вмъкване на списък със стойности не съвпада със списъка с колони)

  4. СЪЕДИНЕТЕ три маси

  5. Използване на NoSQL база данни през MySQL