mat*_*ias 3 lucene solr full-text-search sphinx
我正在研究为我参与的项目选择搜索服务器的不同选项.搜索服务器用于在Rails中构建的约会网站上提供结果,其中搜索提供所有'匹配' - 魔术.
典型的查询将涉及使用表达式(伪代码)对文档/结果进行排名:
默认情况下,我不需要大多数搜索服务器的全文功能,而且我不需要检索完整的文档 - 只需要一个唯一的ID.
项目的性质为具有以下属性的搜索服务器产生:
我找到了Sphinx,Solr和ElasticSearch,但所有这些(据我所见)都是针对全文搜索构建和优化的,ES和Solr都是基于Lucene构建的,我不知道什么会表现最好用于过滤/属性重搜索.
我的问题:
不知道其他人,但Solr可以做到这一切:
空间排名
你需要每晚构建一个Solr(截至本文撰写时最新的稳定版本,Solr 1.4.1,不包括此功能),据我所知这是一个非常稳定的主干功能.
基于自定义函数的结果排名
Solr有很多函数查询来进行提升.
属性过滤器
这是一种常见的搜索功能.
可扩展且快速
很多大型网站都在使用Solr,证明了它的可扩展性和速度.
自由
Solr是Apache许可的,非常宽松的许可证.