gpt4 book ai didi

mysql - 改进 Mysql 匹配搜索

转载 作者:行者123 更新时间:2023-11-29 03:41:29 24 4
gpt4 key购买 nike

我一直在研究 Mysql 的 Match Against 搜索。结果很奇怪。例如,如果我有一个包含条目“education”的表属性,然后搜索(使用匹配)“edu”,它就会找到它。但是,如果我搜索“educ”,则不会返回任何结果。一直到“educatio”不返回结果。所以它只匹配整个单词,或者匹配一个单词中 3 个或更少的字母。

有没有办法改进它,以便在搜索词是属性中某个词的子集时返回结果?例如。使用上面的示例,搜索“educat”将返回包含“Education”的行

最佳答案

通过匹配 IN BOOLEAN MODE 并使用 * 运算符,您可以完全按照自己的意愿行事。

例如:

 ... MATCH(thing) AGAINST ('+educat*' IN BOOLEAN MODE)...

+ 告诉匹配仅包含包含匹配项的 thing 的值,在本例中是所有以“educat”开头的索引值”(有关 bool 模式如何工作的详细信息,请参阅 here)。

顺便说一句,默认情况下,MySQL 中的全文搜索不会索引 3 个或更少字符的单词,因此我怀疑您与“edu”的匹配并不像您想象的那样有效。查看您的 ft_min_word_len 变量的值,看看是否属于这种情况。

关于mysql - 改进 Mysql 匹配搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13347446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com