big*_*801 4 mysql sql database match
例如,我在我搜索的Ash查询中搜索姓氏为so 的人Ash.它将向我展示Ashley,Ashby等姓氏的人......但不会告诉我姓Ash的姓氏
这是我的sql的样子:
SELECT * FROM `People`
WHERE MATCH(PersonFirstName, PersonLastName) AGAINST('ash*' IN BOOLEAN MODE) LIMIT 20
Run Code Online (Sandbox Code Playgroud)
是否存在某种规则,它必须超过3个字符或什么才能让MATCH AGAINST找到它?
请参阅系统变量ft_min_word_len,它指定要通过全文搜索索引的最小字长.默认为4,因此全文搜索无法找到3个字母的单词.有关全文搜索参数的更多信息,请参见12.9.6.微调MySQL全文搜索.该页面解释了:
例如,如果要搜索三个字符的单词,可以通过将以下行放在选项文件中来设置ft_min_word_len变量:
[mysqld]
ft_min_word_len=3
Run Code Online (Sandbox Code Playgroud)
然后重新启动服务器并重建您的FULLTEXT索引.请特别注意此列表后面的说明中有关myisamchk的注释.
| 归档时间: |
|
| 查看次数: |
4489 次 |
| 最近记录: |