Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby项目中的Solr与Sphinx_Ruby On Rails_Ruby_Solr_Full Text Search_Thinking Sphinx - Fatal编程技术网

Ruby on rails Ruby项目中的Solr与Sphinx

Ruby on rails Ruby项目中的Solr与Sphinx,ruby-on-rails,ruby,solr,full-text-search,thinking-sphinx,Ruby On Rails,Ruby,Solr,Full Text Search,Thinking Sphinx,我有一个项目是在ruby的GrapeAPI框架之上编写的。(https://github.com/intridea/grape) 我遇到的问题是,斯芬克斯和太阳黑子(用于与每个搜索索引交互的宝石)的基准是不同的。 我们正在尝试开发一些快速且易于部署的东西(Solr需要Java) 我们现在看到的问题主要是Solr在太阳黑子gem中速度较慢,而Sphinx在思考Sphinx时速度较快,因为Solr是HTTP REST调用,而Sphinx是套接字 任何人在这两方面都有经验,并能解释陷阱/奖金 注意:

我有一个项目是在ruby的GrapeAPI框架之上编写的。(https://github.com/intridea/grape)

我遇到的问题是,斯芬克斯和太阳黑子(用于与每个搜索索引交互的宝石)的基准是不同的。

我们正在尝试开发一些快速且易于部署的东西(Solr需要Java)

我们现在看到的问题主要是Solr在太阳黑子gem中速度较慢,而Sphinx在思考Sphinx时速度较快,因为Solr是HTTP REST调用,而Sphinx是套接字

任何人在这两方面都有经验,并能解释陷阱/奖金

注意:需要能够部署到Rails和非Rails应用程序(因此Sunspot)


谢谢

Sphinx更易于设置和工作,并提供您可能需要的大部分灵活性

Solr功能更全面,可以更好地扩展到更大的数据,但可能更难按照您希望的方式进行配置和工作

我们在PatientsLikeMe已经使用斯芬克斯很多年了,我希望我们最初选择Solr。我很遗憾没有更复杂的加权和排序选项。另一方面,狮身人面像在初始设置时要容易得多


编辑:我在ElasticSearch上的运气更好,它不仅易于设置,缩放效果好,而且具有Solr的所有功能。我强烈建议任何人使用ElasticSearch,而不是Sphinx或Solr。

正如那篇文章的评论所指出的,这个基准几乎毫无用处。它不仅没有提到索引的参数和基准中使用的查询,而且似乎只是基准传输速度,而不是实际的搜索速度

请注意,我并不是说Solr比Sphinx更快/更好,我只是说我永远不会用那个帖子和那个基准来决定我的应用程序的搜索引擎

顺便说一句,这并不重要,但Solr的HTTP接口根本不是REST


此外,如果您确实正确地制定了基准测试,并确定您绝对需要最佳性能,而瓶颈是XML序列化(在现实世界中,这几乎从未发生过),那么您可以看看。

对于这样的软件,对Java的依赖是否应该成为一个问题?REST调用的优点是在大多数语言中更容易实现。因此,您可以更灵活地使用Solr。我两个都试过了,但只有几个小的实验。我真的不建议使用其中一种……Sphinx比Solr更快,因为它的分析更少,不支持在一次运行中一次更新索引和加载信息(或者使用总是容易出错的增量索引合并)。如果您不需要索引的实时更新,不需要索引数据的复杂要求,也不需要Solr提供的任何花哨插件,那么Sphinx可能是一个选项。如果你认为Solr/Sunspot集成是复杂的,这里有一个证据证明它不是复杂的——Ruby社区中让我困惑的一件事是,Solr需要Java,Java到底出了什么问题?您可以轻松地在任何地方安装JVM(事实上,安装Ruby的地方要多得多)。不知道如何“更难”处理一个经过6年野外使用证明的守护进程,该进程运行在当今世界上公开的最好的虚拟机中。@Maurício:你真的应该从这些伟大的评论中找到答案!值得注意的是,前几天有人问了一个非常类似的问题: