2012-03-07 67 views
0

我用于在我的应用程序中搜索内容Solr。我不喜欢的是,每次当我重新启动计算机时,我必须手动启动Solr,然后,当应用程序中有新内容时,我必须重新索引该内容,因为另一方面,Solr不会找到新的数据。Rails - 搜索和配置Solr

这不是很舒服,如何看待Solr在服务器上的工作,例如。在Heroku上?我是否曾经在那里开始Solr,或者我是否曾经在那里重复索引数据,就像在我的本地主机上一样?

最终,存在更好的搜索解决方案,除了Solr

回答

1

您使用的是包括服务器,对不对?您可以选择deploy it in Tomcat。您只需将文件复制到Tomcat并在Tomcat配置中注册您的Solr应用程序。 Tomcat作为服务运行。或者,您可以使用脚本在启动时启动Jetty。

并有专业的Solr服务尝试让您的应用程序的Solr活着,如软件崩溃您的数据对任何事业安全,故障的服务器或甚至下降一个数据中心。

检查Heroku(或其他托管Solr解决方案)承诺您的条款。他们会比个人做得更好(不经常重新启动Solr实例!)。


当您向Solr添加内容时,它会持久保存到磁盘。提交时,可用于搜索。如果文档发生变化,您将其重新编制索引以反映新的更改。

当您重新启动Solr时,可以使用相同的持久数据。你确切的麻烦是什么?

如果您想从数据库中自动索引,则有DIH(直接导入处理程序)。

0

我很满意Solr到目前为止。 至于在重新启动计算机后启动Solr实例,您可以编写一个bash脚本来为您执行此操作,或者声明一个可以启动您的Solr和您的应用程序服务器的别名。

至于重新索引。新的和更新的记录应该自动重新编制索引,除非从控制台操纵数据。

对于替代解决方案退房Thinking Sphinx