【问题标题】:What is the execution model for Solr?Solr 的执行模型是什么?
【发布时间】:2011-11-24 22:50:07
【问题描述】:

大家好:我注意到 Solr 安装目录在“examples”文件夹中嵌入了一个可执行的 jar 文件。这有点奇怪(通常,可执行文件有自己的目录 - 具体示例将通过包含指令、配置等的子目录来实现。)...

例如,我们可能会考虑 tomcat、hadoop 或其他此类服务器端程序,它们只有一个可执行文件,可以通过各种配置启动。

1) 我想知道.. solr 部署是否从头开始编译自己的 start.jar 文件?如果不是……那为什么他们的solr安装目录下没有可执行文件…………

2) Solr 的“执行”模型是什么——我们是否使用自己的源代码存储库编译自己的版本?我们通常如何管理 solr 实例的部署和管理?

【问题讨论】:

    标签: java apache solr executable-jar


    【解决方案1】:

    示例文件夹中的 start.jar 文件只是您下载后使用 Jetty 运行 Solr 的一种快速启动方式,因为它需要一个 servlet 容器才能运行。回答您的问题:

    1. Solr 根目录中没有可执行文件,因为它需要在 servlet 容器中运行,因为它是一组类似 REST 的 HTTP/XML 和 JSON API。
    2. 对此的最佳答案是查看Solr Wiki 上的SolrInstall 页面,选择一个servlet 容器并按照这些特定的设置说明进行操作。

    【讨论】:

    • 不错且准确的答案。谢谢!
    【解决方案2】:

    start.jar 是 Jetty 的一个包含版本,一个 servlet 容器。如果你执行它,它会在 8983 端口启动一个带有 .war 文件的服务器。

    码头、示例 schema.xml、示例 solrconfig.xml 用于教程目的。


    对于生产环境,我会在 Tomcat 中部署 .war 文件。 Tomcat 在启动时可以作为服务正常运行。 (甚至 Jetty 也可以部署在生产环境中)。

    http://wiki.apache.org/solr/SolrTomcat

    设置 Tomcat 站点:“my_search”:

    http://localhost:8080/my_search


    管理 solr 实例的部署和管理

    有 solr 内核。一个简单的类比:如果一个 Solr 索引可以称为一个大 DB 表,那么 Solr 核心就是一个数据库。

    http://wiki.apache.org/solr/CoreAdmin

    您可以设置两个核心,例如:

    http://localhost:8080/my_search/my_classifieds_site http://localhost:8080/my_search/my_doc_search

    您可以加载/卸载一个核心,将一个正在运行的核心与一个休眠的核心交换,交换两个正在运行的核心,而不会中断请求。它们是通过 REST 操作完成的。

    http://localhost:8080/my_search/admin/cores?action=CREATE&name=coreX&instanceDir=path_to_instance_directory
    

    【讨论】:

      猜你喜欢
      • 2015-02-25
      • 2018-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      • 1970-01-01
      • 2019-09-24
      • 2022-01-11
      相关资源
      最近更新 更多