MYSQL логический полнотекстовый поиск предпочитает поисковый запрос без + - почему? - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть полнотекстовый индексированный столбец Mysql Innodb с именем name.Если я выполняю логический поиск точного имени записи, я получаю гораздо более высокий балл, если я не ставлю перед + перед поисковым термином.Кто-нибудь может объяснить это?Я ожидаю, что это будет то же самое, так как это случай "предпочитаю, чтобы это" против "должно иметь это".

mysql> SELECT record_id, name, "abcde" as search_term, 
       MATCH (name) AGAINST ("abcde" IN BOOLEAN MODE) AS score_without_plus, 
       MATCH (name) AGAINST ("+abcde" IN BOOLEAN MODE) AS score_with_plus 
       FROM my_tablename WHERE record_id = 16;
+-----------+-------+-------------+--------------------+-----------------------+
| record_id | name  | search_term | score_without_plus | score_with_plus       |
+-----------+-------+-------------+--------------------+-----------------------+
|        16 | abcde | abcde       |  4.034474849700928 | 0.0016093916492536664 |
+-----------+-------+-------------+--------------------+-----------------------+

Версия без + получает более 2500x балл,что кажется сумасшедшимКто-нибудь может объяснить, что здесь происходит?

...