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

MySQL:Защо резултатът винаги е 1 в пълен текст?

BOOLEAN MODE поддържа само двоични отговори, означава 0 или 1, независимо дали низът за търсене се появява в колоната или не. За да получите десетичен резултат за изчисляване на теглото, трябва да използвате съвпадение срещу индексирани колони.

Можете да използвате булевия режим по този начин, за да получите теглото си:

SELECT *, ((1.3 * (MATCH(column1) AGAINST ('query' IN BOOLEAN MODE))) +
(0.6 * (MATCH(column2) AGAINST ('query' IN BOOLEAN MODE)))) AS relevance
FROM table WHERE ( MATCH(column1,column2) AGAINST
('query' IN BOOLEAN MODE) ) ORDER BY relevance DESC

Предимството на булевия режим е, че можете да го използвате върху неиндексирани колони, но само с 0,1 като резултат, нелогичният режим връща десетичен резултат, но може да се приложи само към индексирани колони... вижте също тук .



  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 замества символите с ударение

  2. Вземете съдържание на docx файл, който е запазен в mysql база данни като blob тип в php

  3. Замяна в синтаксис на заявка

  4. MySQL заявка с брой и групиране по

  5. MySQL UPDATE с SELECT SUM от различна таблица