我们需要能够针对包含数百万条记录的表高效地执行两种类型的查询:
1) 返回包含关键字“y”的最近“x”条记录。
2) 返回一组记录中“x”个出现频率最高的关键字。
我们一直在考虑使用一些外部搜索服务器,例如 Sphinx 或 Solr,但我们不确定其中任何一个是否能够支持这两种类型的查询。
那么,执行这些类型的查询的最有效方法是什么?
最佳答案
Solr 绝对可以做这两件事,前提是您已经正确设置了 schema.xml 文件。您的查询可能看起来像这样:
1 - http://localhost:8983/solr/solr-index/select?q=y&rows=x&sort=date+desc
2 - http://localhost:8983/solr/solr-index/select?q=*:*&rows=0&facet=true&facet.field=description
事实上,您使用 Solr 的主要问题可能是将数据放入索引。但即使是索引和优化也很快。
关于mysql - 用于关键字/频率查询的 Sphinx/Solr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9623541/