我们正在开发模式中使用太阳黑子的Solr gem一段时间。现在需要将应用程序移至生产环境。
使用捆绑的太阳黑子宝石在生产环境中设置solr是否有任何缺点?
我一般都喜欢tomcat + solr的想法,但设置起来比较复杂。
太阳黑子捆绑的宝石很容易。如果我们有3个阶段的1个rails项目(分段,生产,QA),2个app服务器和1个db / solr服务器,则必须:
以上适用于生产/登台solrs的X实例。
Tomcat6 +太阳黑子不是那么容易,时间/结果有效。据我所知(修理我),我必须:
答案 0 :(得分:3)
我最近做了类似的事,不得不回答同样的问题。我的问题空间看起来像有两种语言(最好是两个核心,将来可能更多用于其他搜索选项),必须将数据索引到多个表和搜索/计数方面,部分在分层结构中,如产品组和层次标记,如car_brand /型号/类型/ build_year。
据我所知,如果您拥有相对“平坦”的数据,太阳黑子的效果最好(仅限),最好只需要为单个模型定义要使用的字段。当您需要将多个模型组合到一个文档中进行构面时,就很难了。 (但由于我没有使用太阳黑子,我无法确切地说出来)。您可以(并且应该)仍然使用rsolr gem与Solr进行通信。但是如果你在开发中使用太阳黑子,那么无论如何它最有可能为你工作。
有关tomcat事物的详细信息:
我使用了多核心。设置起来并不困难。无论如何,你最好还是学习一下Solr配置。多核的最大部分只有两个子目录,其中包含基本相同的XML配置文件集。
必须这样做:)
是的,写一些脚本。或者你可以有一个包含tomcat / solr文件夹和Rails项目文件夹或符号链接这些文件夹的git repo。我还没有找到一个好的解决方案,不得不偶尔复制一些东西。
是的,一些符号链接可以帮助保持简单
仅当部署实际更改与您的搜索相关的任何内容时。有一些脚本。 Rails部署解决方案可以提供帮助,但由于我不介意手动执行一些操作,因此我无需安装。
总而言之,我认为我对Solr的配置有更多的控制和洞察力,并且可以更好地使用其中一些更复杂的功能,例如具有层次结构的方面。事实上,Solr起初可能看起来有点复杂,但经过一段时间后你会进入它,然后它就变成了一个很棒的工具。