gpt4 book ai didi

ruby-on-rails - 生产中的 Solr 全文搜索——哪个更好 sunspot :solr bundled solution or standalone tomcat+solr?

转载 作者:行者123 更新时间:2023-11-28 21:49:42 25 4
gpt4 key购买 nike

我们在开发模式下使用 sunspot 的 Solr gem 有一段时间了。现在需要将该应用程序移至生产环境。

使用捆绑的 sunspot gem 在生产环境中设置 solr 有什么缺点吗?

我通常喜欢 tomcat + solr 的想法,但设置起来更复杂。

Sunspot 捆绑 gem 很容易。假设我们在 3 个阶段(暂存、生产、QA)有 1 个 Rails 项目,2 个应用程序服务器和一个 db/solr 服务器必须:

  1. 将 rails 项目推送到数据库服务器
  2. 使用 bundle exec rake sunspot:solr:start for 在生产环境中的数据库服务器上启动 solr(我们只是为每个 solr 实例使用不同的端口)
  3. 用 rake sunspot:solr:reindex 重建索引
  4. 为应用服务器修改 sunspot.yml 以使其连接到特定阶段端口上的数据库服务器

以上适用于生产/暂存 solrs 的 X 个实例。

Tomcat6 + Sunspot 不是那么容易和时间/结果有效。据我了解(修复我)必须:

  1. 在数据库服务器上安装和维护tomcat
  2. 假设我们想要 3 个 solr 实例 - 部署 3 个带有单独 solr 的 solr war(或者使用很难设置的多核 solr)
  3. 将 Rails 项目部署到数据库服务器上
  4. 每次我们更改架构/配置/rails 中的任何内容时 - 我们必须注意生成 solr xml 和 confs 并将其复制到 tomcat webapps
  5. 修改 solr conf/xml 中的目录,使其指向索引文件等。
  6. 在每个 rails 部署上重新加载 tomcat solr 应用程序实例,其中包括一些脚本和“非 rails”部署过程方法:)

最佳答案

我最近做了类似的事情,不得不回答同样的问题。我的问题空间看起来像有两种语言(所以最好是两个核心,将来可能更多用于其他搜索选项),必须在多个表和搜索/计数方面索引数据,部分在产品组和分层标签等层次结构中 car_brand/型号/类型/build_year。

据我所知,如果您拥有相对“平坦”的数据,太阳黑子效果最好(仅),充其量只需为单个模型定义要使用的字段。当您需要将多个模型组合到单个分面文档中时,这就变得困难了。 (但由于我没有使用 Sunspot,所以我无法确定)。您可以(并且应该)仍然使用 rsolr gem 与 Solr 进行通信。但是,如果您在开发中使用 Sunspot,它很可能无论如何都适合您。

有关 tomcat 的详细信息:

  1. 在数据库服务器上安装和维护tomcat

是的,有些工作但可以处理

  1. 假设我们想要 3 个 solr 实例 - 部署 3 个带有单独 solr 的 solr war(或者使用很难设置的多核 solr)

我用的是多核。设置起来并不难。无论如何,您最好了解一下 Solr 配置。多核的最大部分只是有两个子目录,它们包含基本上相同的 XML 配置文件集。

  1. 将 Rails 项目部署到数据库服务器上

无论如何都必须这样做:)

  1. 每次我们更改架构/配置/rails 中的任何内容时 - 我们必须注意生成 solr xml 和 confs 并将其复制到 tomcat webapps

是的,写几个脚本。或者,您可以拥有一个包含 tomcat/solr 文件夹和 Rails 项目文件夹的 git 存储库,或者对这些文件夹进行符号链接(symbolic link)。我还没有找到好的解决方案,偶尔不得不复制一些东西。

  1. 修改 solr conf/xml 中的目录,使其指向索引文件等。

是的,一些符号链接(symbolic link)可以帮助简化事情

  1. 在每个 rails 部署上重新加载 tomcat solr 应用程序实例,其中包括一些脚本和“非 rails”部署过程方法:)

仅当部署实际更改与您的搜索相关的任何内容时。有几个脚本。有一些 Rails 部署解决方案会有所帮助,但由于我不介意手动执行一些操作,所以我没有费心去安装。

总而言之,我认为我对 Solr 的配置有更多的控制和洞察力,并且可以更好地使用它的一些更复杂的功能,例如具有层次结构的方面。实际上,Solr 起初可能看起来有点复杂,但一段时间后您就会熟悉它,然后它就会成为一个很棒的工具。

关于ruby-on-rails - 生产中的 Solr 全文搜索——哪个更好 sunspot :solr bundled solution or standalone tomcat+solr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13841068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com