FULLTEXT 索引未能 return 导致 MySQL
FULLTEXT Index fails to return result in MySQL
我在 VARCHAR
列上有一个 FULLTEXT
索引。我在这个专栏中搜索内容是这样的:
SELECT ID, NAME
FROM people
WHERE MATCH(people.NAME) AGAINST (? IN BOOLEAN MODE);
例如,我会将此值绑定到我的参数:+firstname* +lastname*
- 在大多数情况下,这将是 return 预期结果。但是,在我不明白的边缘情况下,这不匹配。举个例子:
列中的名称是 Liliana De Lima
。如果我绑定这个值:+liliana*
它将找到该行。如果我绑定这个值:+liliana* +d*
它不会。为什么?
通常我用上面的逻辑绑定多个单词没有问题。例如,绑定值 +peter* +p*
将 return 名称 Peter Prip
.
的结果
我认为 "De" 太短所以 +d* 不会匹配它。
也许看看修改 ft_min_word_len 参数。
我在 VARCHAR
列上有一个 FULLTEXT
索引。我在这个专栏中搜索内容是这样的:
SELECT ID, NAME
FROM people
WHERE MATCH(people.NAME) AGAINST (? IN BOOLEAN MODE);
例如,我会将此值绑定到我的参数:+firstname* +lastname*
- 在大多数情况下,这将是 return 预期结果。但是,在我不明白的边缘情况下,这不匹配。举个例子:
列中的名称是 Liliana De Lima
。如果我绑定这个值:+liliana*
它将找到该行。如果我绑定这个值:+liliana* +d*
它不会。为什么?
通常我用上面的逻辑绑定多个单词没有问题。例如,绑定值 +peter* +p*
将 return 名称 Peter Prip
.
我认为 "De" 太短所以 +d* 不会匹配它。 也许看看修改 ft_min_word_len 参数。