有几个插件选项可用于在Ruby on Rails应用程序中构建搜索引擎.哪个是最好的?
思考狮身人面像
UltraSphinx
括约肌
acts_as_sphinx
acts_as_ferret
鼬
acts_as_xapian
acts_as_solr
Hyper Estraier
squadette.. 16
思考Sphinx有更简洁的语法来定义哪些字段和哪些模型被索引.
UltraSphinx和Thinking Sphinx(最近)都具有超酷的功能,可以考虑物体的地理位置.
UltraSphinx在加载模型方面存在令人讨厌的问题(它不会加载整个Rails堆栈,因此您可能会变得奇怪且难以诊断错误,这些错误通过添加显式require
语句来处理).
我们在新项目上使用Thinking Sphinx,在使用地理内容的项目上使用UltraSphinx.
思考Sphinx有更简洁的语法来定义哪些字段和哪些模型被索引.
UltraSphinx和Thinking Sphinx(最近)都具有超酷的功能,可以考虑物体的地理位置.
UltraSphinx在加载模型方面存在令人讨厌的问题(它不会加载整个Rails堆栈,因此您可能会变得奇怪且难以诊断错误,这些错误通过添加显式require
语句来处理).
我们在新项目上使用Thinking Sphinx,在使用地理内容的项目上使用UltraSphinx.
这个问题之前已经在这里提出了更详细的答案.
我的一个朋友使用的一个可靠选项是Solr,一个使用原始基于Java的Lucene的搜索引擎.要将它与Rails一起使用,当然还有一个acts_as插件,acts_as_solr.
他最近在Montreal on Rails上展示了这个组合,并对如何在他的博客上使用acts_as_solr给出了一个很好的全面概述.
它显然也非常支持法国口音.
我现在正在经历这个过程,所以虽然我没有实际经验,但我花了很多时间研究所有选项.这是我到目前为止所学到的:
*Sphinx - 速度和功能的良好声誉,但Sphinx需要整数键,我的模型使用GUID; ThinkingSphinx最近宣布支持GeoSpatial
Acts_As_Solr - 由拥有高容量网站的朋友推荐; 原始创作者已停止工作,文档很难找到; 需要一个Java servlet
Acts_As_Ferret - 看起来很容易使用,但很多批评者认为它不稳定
另外两个信息有限的是Acts_As_Indexed和Acts_As_Searchable
我有一个电子表格,试图记录所有这些的优点和缺点.如果有人有兴趣看到它和/或帮我纠正它,请联系我.一旦我知道它的准确性,我就会把它发布到某个地方.
如果您有正常的主键,我的建议是尝试UltraSphinx或Thinking Sphinx.我将根据良好的文档,功能集以及项目的活跃程度来尝试Acts_As_Xapian.