6

我正在评估 Rails 3 ATM 的全文搜索方法。这里有人推荐吗?在我看来,好像大多数已知的方法(Sunspot、Sphinx、Ferret、Xapian)还没有为 Rails 3 做好准备。是这样吗?目前,如果我想部署我的应用程序,我的机器上还剩下大量资源,但是,我希望尽可能降低搜索引擎的空闲负载。如果这里有任何相关性,我打算使用 PostgreSQL。

经过一番阅读,我几乎可以肯定我想使用 Sunspot 或 Xapian。但是如果有任何其他(和更好的)解决方案,请告诉我:-) 特别是关于 Sunspot,我不确定除了我的 Rails 应用程序之外运行一个完整的 Tomcat 是否聪明。有人对这个星座有经验吗?

提前致谢, 乌尔夫

4

4 回答 4

6

如果您使用的是 PostgreSQL,那么在您需要访问外部库之前,您可以从其内置的文本搜索功能中获得大量信息。多年来,我一直在使用 tsearch 查询,结果非常好。

PostgreSQL 全文搜索分析单词接近度以计算相关性和排名,并提供有用的功能,例如突出显示搜索结果

它还知道语言特定的规范化规则,例如它知道忽略英语中的ses复数后缀;所以搜索“国家”也会带回“国家”的突出显示结果,这与谷歌的做法非常相似。

我并不是建议您不应该使用您提到的库,但值得调查数据库以查看是否已经满足您的大部分要求,如果不是全部的话。

于 2010-11-28T16:32:10.257 回答
1

你可以在 Rails3 中使用 sunspot,没问题。我们已经使用 sunspot/sunspot_rails gems (1.2.rc4) 成功地做到了这一点。而且在 Tomcat 服务器中运行 Solr 也不是什么麻烦事。

于 2010-12-21T14:00:36.013 回答
0

对于全文搜索功能,您应该使用搜索引擎。例如,您可以将 Lucene 库与 jRuby 一起使用。如果您喜欢使用标准 Ruby (cRuby),您可以使用 Solr。

对于 Rails,还有一些 Solr 插件:例如,从http://wiki.apache.org/solr/SolRuby开始可能是个好主意。

于 2010-11-28T16:07:51.763 回答
0

Sunspot 已准备好 Rails3,我们已经在一些 Rails3 应用程序上使用它。我在 Solr 和 Sunspot 方面取得了很大的成功。这么多,我们正在开始一个关于它的博客系列

于 2011-03-08T15:25:21.267 回答