目前我正在使用 thinking sphinx 进行搜索。现在我正在考虑使用 sunspottire,因为它们会自动索引新内容。

两者之间是否有任何性能差异?还有什么我应该关心的吗?

最佳答案

显然,第一个区别是您要决定哪种搜索引擎最适合您的目的:SOLR 或 Elasticsearch。我们现在正在通过 Sunspot 使用 SOLR,但我们正在认真考虑迁移到 Elasticsearch,因为它感觉更适合我们想要的各种 Web 应用程序功能。设置 Tyre、安装附件插件以及对数据库和 PDF 附件中的数据进行搜索操作非常容易,并突出显示(现在工作要归功于 SO 上的另一个答案)。此外,从开发/调试的角度来看,能够使用 curl 来测试查询并查看结果非常棒。

从在 Rails 应用程序中编码的角度来看,您是对的,Sunspot 和 Tyre 非常相似。它们都使用可搜索/映射块的概念,该块定义要索引哪些字段以及如何索引,然后执行搜索非常相似。就性能而言,我可能会给 Tyre 带来一些优势,部分原因是它的分页和批量索引方式非常巧妙(通过 rake Tire:import 任务)。通过 to_json 控制索引内容的能力也非常灵活。

最终,我认为 Sunspot 和 Tyre 可能足够接近,以至于在 SOLR 与 Elasticsearch 之间的选择是您真正最终做出决定的地方。

10-08 19:14