Mysql 基于字符的全文搜索

Mysql fulltext search on character based

在我们的数据库中,我们有一个 table topicstitle 列。此列通常包含具有 2 个或 3 个单词的值,例如:'pet'、'love'、'film'、'pop music'...

现在,我必须针对该字段执行搜索,该字段应该 return 与给定 个字符 的最佳匹配项。

我已经尝试了 BOOLEAN MODEWITH QUERY EXPANSION,但是 none 中的 return 任何东西,除非我提供的字词至少匹配一个 使用列中的值。

Mysql是否提供基于字符搜索的功能?

MySQL 全文搜索有各种配置设置,可以更改以解决此问题:

1) ft_min_word_len : 这表明在准备全文索引时应考虑的最小字长mysql。它的默认值是3。所以默认情况下mysql不能搜索任何长度小于3的单词。如果你遇到这种情况,你可以在/etc/my.cnf中修改这个标志(linux环境)。

2) 停止世界列表: MySQL 已在构建停止世界列表以进行完整测试搜索 [http://dev.mysql.com/doc/refman/5.0/en/fulltext-stopwords.html]。 MySQL 全文搜索从不在全文索引中包含任何停止世界。您需要通过在 /etc/my.cnf(linux 环境)

中将停止世界列表设置为新列表来覆盖它

ft_stopword_file="/new_stop_word.txt" 请确保 mysql 用户有权访问此文件。

完成更改后,重新启动 mysql 服务并快速修复具有全文索引的 table。