sql >> Databáze >  >> RDS >> Mysql

MySQL:Proč je skóre ve fulltextu vždy 1?

BOOLEAN MODE podporuje pouze binární odpovědi, znamená 0 ​​nebo 1, ať už se hledaný řetězec objeví ve sloupci nebo ne. Chcete-li získat desetinný výsledek pro výpočet váhy, musíte u indexovaných sloupců použít match-against.

Booleovský režim můžete použít k získání své hmotnosti buď:

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

Výhodou booleovského režimu je, že jej můžete použít na neindexované sloupce, ale pouze s výsledkem 0,1, nelogický režim vrací desítkový výsledek, ale lze jej použít pouze na indexované sloupce... viz také zde .



  1. php - převod z jednoho formátu json do druhého

  2. Jak vložit více než 1000 hodnot do klauzule Oracle IN

  3. připojení k MySQL z příkazového řádku

  4. Jak automatizovat dotazy na kontingenční tabulky v MySQL