0

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

这不是很舒服,例如在服务器上使用 Solr 的工作如何。在 Heroku 上?我是否一直在那里启动 Solr,或者我是否像在我的本地主机上那样一遍又一遍地重新索引数据?

最终,除了Solr之外,是否存在更好的搜索解决方案?

4

2 回答 2

1

您使用的是附带的服务器,对吗?

您可以选择将其部署在 Tomcat 中。您只需将文件复制到 Tomcat 并在 Tomcat 配置中注册 Solr 应用程序。Tomcat 作为服务运行。或者,您可以使用脚本在启动时启动 Jetty。

专业的 Solr 服务会尝试让您的 Solr 应用程序保持活跃,并确保您的数据免受任何原因的影响,例如软件崩溃、服务器故障甚至数据中心宕机。

检查 Heroku(或其他托管的 Solr 解决方案)在他们的条款中向您承诺什么。他们会比个人做得更好(不需要频繁重启 Solr 实例!)。


当你向 Solr 添加一些东西时,它会被持久化到磁盘上。提交后,可用于搜索。如果文档发生更改,您可以重新索引它以反映新的更改。

当您重新启动 Solr 时,相同的持久数据可用。你的具体问题是什么?

如果您想从数据库自动索引,可以使用 DIH(直接导入处理程序)。

于 2012-03-08T06:46:53.767 回答
0

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

至于重新索引。除非从控制台操作您的数据,否则应自动重新索引新的和更新的记录。

对于替代解决方案,请查看Thinking Sphinx

于 2012-03-07T14:21:53.450 回答