我在FULLTEXT
列上有一个VARCHAR
索引。我在这个专栏中搜索内容:
SELECT ID, NAME
FROM people
WHERE MATCH(people.NAME) AGAINST (? IN BOOLEAN MODE);
对于我的参数,我将绑定此值:+firstname* +lastname*
- 并且在大多数情况下,这将返回预期结果。但是,在边缘情况下,我不明白,这无法匹配。举个例子:
列中的名称为Liliana De Lima
。如果我绑定此值:+liliana*
它将找到该行。如果我绑定此值:+liliana* +d*
则不会。为什么呢?
通常我没有问题用上述逻辑绑定多个单词。例如,绑定值+peter* +p*
将返回名称Peter Prip
的结果。
答案 0 :(得分:0)
我认为“De”太短,所以+ d *不匹配。 也许看看修改ft_min_word_len参数。