1

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

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

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

请提供此问题的解决方案

4

1 回答 1

1

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

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

于 2012-05-07T16:46:17.197 回答