我正在使用自然语言模式的MySQL进行信息检索系统。 我所拥有的数据注释为考虑不同的类别。例如。猴子,猫,狗将被注释为“动物”而鸭子,麻雀则被称为“鸟类”。问题是我正在根据这些标签的出现来检索文档。
现在,MySQL有一个限制,即如果一个特定术语在整个数据中超过50%,则不考虑该术语。考虑到我的要求,即使特定术语在整个数据中超过50%,我也希望它能够对所有匹配术语进行评分。
我已经阅读了有关Sphinx与MySQL组合以获得搜索效率的一些内容,但我不确定这是否适用于我的情况。
请为此问题提供解决方案
答案 0 :(得分:1)
Sphinx非常擅长快速全文搜索。它没有mySQL的50%规则,但你需要使用它代替mySQL的全文搜索。基本上你要做的是安装Sphinx并设置导入以将所有mySQL数据复制到Sphinx中。然后,您可以直接通过库构建SphinxSE或查询Sphinx以获得结果。然后,您可以通过查询mySQL来获取结果的详细信息。
我使用SphinxSE是因为您可以通过mySQL查询Sphinx并将mySQL表连接到单个查询中的结果。这很不错。