使用Sphinx进行全文搜索,提高MySQL的相关性得分

时间:2012-05-07 05:21:12

标签: mysql sphinx

我正在使用自然语言模式的MySQL进行信息检索系统。 我所拥有的数据注释为考虑不同的类别。例如。猴子,猫,狗将被注释为“动物”而鸭子,麻雀则被称为“鸟类”。问题是我正在根据这些标签的出现来检索文档。

现在,MySQL有一个限制,即如果一个特定术语在整个数据中超过50%,则不考虑该术语。考虑到我的要求,即使特定术语在整个数据中超过50%,我也希望它能够对所有匹配术语进行评分。

我已经阅读了有关Sphinx与MySQL组合以获得搜索效率的一些内容,但我不确定这是否适用于我的情况。

请为此问题提供解决方案

1 个答案:

答案 0 :(得分:1)

Sphinx非常擅长快速全文搜索。它没有mySQL的50%规则,但你需要使用它代替mySQL的全文搜索。基本上你要做的是安装Sphinx并设置导入以将所有mySQL数据复制到Sphinx中。然后,您可以直接通过库构建SphinxSE或查询Sphinx以获得结果。然后,您可以通过查询mySQL来获取结果的详细信息。

我使用SphinxSE是因为您可以通过mySQL查询Sphinx并将mySQL表连接到单个查询中的结果。这很不错。