【问题标题】:Connecting the Dots between Tomcat, Solr and sunspot_rails连接 Tomcat、Solr 和 sunspot_rails 之间的点
【发布时间】:2014-04-16 22:34:52
【问题描述】:

在关于如何安装 Solr 以便我可以开始在我的应用程序中使用 sunspot_rails 的多个教程中,我对如何让我的 Rails 应用程序在多个环境(开发、测试,产品)。我会尽力尝试理解整个设置。


Rails 应用程序

  • 通过 sunspot_rails gem 向http://samedomain.com:8981/solr* 发出请求
  • 其中 :8981 由 sunspot.yml 中的 sunspot_rails 设置(因此 8981 可以是生产,8982 是开发,8983 是测试)。
  • 为什么 sunspot.yml 指定数据目录?这不是由 Tomcat/Solr 安装配置文件处理的吗?我认为对我来说主要的脱节是您可以 A) 将 Solr 设置为独立安装,或者 B) 通过 rake sunspot:solr:start 运行 Solr,它会在 gem 中运行应用程序。当我通过 Tomcat 独立安装 Solr 时,我不需要执行 rake 任务吗?那么在 sunspot.yml 中指定 path: /solr/./production 有什么意义呢?

雄猫

  • 处理在启动时运行 Solr 实例(Tomcat 在 init.d 启动脚本中),并在端口 8080 上运行(目前,此端口是访问 Solr 接口的唯一方法)
  • 如何将端口 8981-8983 映射到正在运行的 Solr 实例,并将每个端口映射到其各自的数据目录?
  • 我应该将 Solr 数据目录存储在我的 rails 应用程序目录下,还是将其保存在完全独立的位置?

Solr

  • 似乎所有这些应用程序都有一个配置,但我不知道优先级在哪里。

我正在使用 CentOS(网络主机)、Ubuntu VM(本地开发机器)、tomcat7 和最新版本的 Solr。

【问题讨论】:

    标签: ruby-on-rails tomcat solr lucene sunspot-rails


    【解决方案1】:

    小子,我想通了。我在this article 之后设置了一个多核环境(绝对不要在核心名称中使用空格),并使用here 找到的 sunspot_rails 配置。为了澄清起见, sunspot.yml 中的 path: 引用本质上是在引用“核心”时附加到 URL 上的内容:即 http://mydomain.com:8080/solr/production(强调指出我的观点)。

    所以现在我不必关心运行 rake 任务来启动 Solr,因为它总是在启动时通过 Tomcat 的单个 Solr 实例运行所有 3 个内核。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      • 2019-02-18
      • 1970-01-01
      • 2014-08-23
      • 1970-01-01
      相关资源
      最近更新 更多