mysql - 用于关键字/频率查询的 Sphinx/Solr

标签 mysql solr sphinx

我们需要能够针对包含数百万条记录的表高效地执行两种类型的查询:

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/

相关文章:

mysql - 用于索引一张表的 Solr VS 常规 MySQL innoDB 表缓冲区

sphinx - 什么错误 "ERROR: index ‘product’ : raw_hits: write error: 122070 of 262017 bytes written"mean in Sphinx?

c - 在 debian 上找不到 sphinxclient.h header

ruby-on-rails - 搜索 "/"时出现 Thinking Sphinx 错误

php - 如何在mysql查询中创建自定义列的值

MySQL GROUP_CONCAT 添加斜线

MySQL日期查询语法

php - fullcalendar 不从 mysql php 读取 json 事件

solr - Tomcat6升级到Tomcat8后报错: Could not load config for solrconfig. xml

SolrSynonymParser 两行 "Equivalent synonyms"中的一个单词