Solr的执行模型是什么?

时间:2011-11-24 22:50:08

标签: java apache solr executable-jar

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

例如,我们可能会考虑tomcat,hadoop或其他此类服务器端程序,这些程序具有可以使用各种配置启动的单个可执行文件。

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

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

2 个答案:

答案 0 :(得分:3)

示例文件夹中的start.jar文件只是在下载之后运行Solr with Jetty的快速入门方式,因为它需要运行servlet容器。回答你的问题:

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

答案 1 :(得分:2)

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

jetty,示例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