2012-03-08 59 views
1

我们需要能够对表有效地执行包含数百万条记录的查询两种类型:狮身人面像/ Solr的关键字/频率查询

1)返回的“X”最近包含关键字记录“Y ”。

2)返回一组记录中最常用的“x”关键字。

我们一直在考虑使用一些外部搜索服务器,如Sphinx或Solr,但我们不确定这些服务器是否能够支持这两种类型的查询。

那么,哪种方法能够执行这些类型的查询最有效?

回答

2

如果你已经正确设置了你的schema.xml文件,Solr肯定能做到这两件事。您的查询可能如下所示:

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主要问题可能是将数据获取到索引中。但是即使索引和优化也很快。

0

狮身人面像可以做1)甚至没有汗流breaking背。他们没问题。

2)更棘手。它不支持开箱即用。但这是可以完成的。需要做相当多的额外工作。基本上你需要自己标记文本,并将ID存储为多值属性。然后可以在此mva列上按查询运行组。

如果上面的声音无论如何都是可怕的,那么最好使用另一种解决方案 - 从最后的回复听起来像Solr会这样做。