簡體   English   中英

如果多行匹配,MySQL FullText搜索返回0

[英]MySQL FullText search returns 0 if multiple row matches

如果我在查詢中傳遞唯一值,則Match / Against返回true;如果我傳遞值(存在於多行中),則Match返回值為0。

SELECT MATCH(b.branch_name) 
AGAINST ('Men' IN NATURAL LANGUAGE MODE ), branch_name 
FROM `branch` AS `b` WHERE 1

Table Data:
id   | branch_name
--------------------
1    | Men 
2    | Beauty
3    | Women

如果我通過MATCH(b.branch_name) AGAINST ('Men' IN NATURAL LANGUAGE MODE )為所有行返回0,如果我通過MATCH(b.branch_name) AGAINST ('Women' IN NATURAL LANGUAGE MODE ) MATCH(b.branch_name) AGAINST ('Men' IN NATURAL LANGUAGE MODE )返回的所有值都MATCH(b.branch_name) AGAINST ('Women' IN NATURAL LANGUAGE MODE ) 0 'beauty'

誰能幫我哪里錯了?

有一個名為ft_min_word_len的系統變量,其默認值為4(請參見此處 )。

這意味着少於四個字母的單詞將被忽略-不包括在索引中。 索引中沒有條目; 沒有返回任何行。

重置該值,然后重建索引,以使“ men”位於索引中。 然后您的查詢將起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM