solr最详细部署教程和solr的基本配置

0. 运行环境

solr 需要运行在一个Servlet容器中,Solr5.3.1要求jdk使用1.8以上,Solr默认提供Jetty(java写的Servlet容器),

使用jetty启动:

使用cmd命令行,进入bin文件夹启动

启动命令solr.cmd start

启动后访问地址:http://127.0.0.1:8983/solr

但是企业中一般使用Tomcat作为服务器,本课程也是一样,

相关环境如下:

- Solr:5.3.1

- Jdk环境:1.8(solr5.3.1 不能使用jdk1.8以下)

扫描二维码关注公众号,回复: 2147523 查看本文章

- 服务器:Tomcat 8

1 Solr在tomcat中的配置

1.1 SolrHome和SolrCore

SolrHome是Solr服务运行的主目录,该目录中包括了多个SolrCore目录。SolrCore目录中包含了运行Solr实例所有的配置文件和数据文件,Solr实例就是SolrCore。

每个SolrCore提供单独的搜索和索引服务。

1.1.1 目录结构

SolrCore目录:

1.2 Tomcat运行Solr配置

1.2.1 准备tomcat

解压tomcat

1.3 配置Solr项目

Solr包含2部分,一部分是Solr的web项目,另一部分是web项目对应的配置(solrhome),web项目在server/solr-webapp/webapp目录下,在tomcat的webapp下创建solr目录,将webapp目录下的所有文件拷贝到tomcat的webapp目录下,如下图:

拷贝后如下图:

把solr-5.3.1\server\resources目录下的log4j.properties拷贝到

tomcat/webapp/solr/WEB-INF/classes目录下。

1.4  配置solrhome

在tomcat的webapp的solr目录下创建solrhome,将solr-5.3.1\server\solr目录下的solr.xml拷贝到solrhome目录下。

1.5 solr项目和solrhome建立关联

修改solr/WEB-INF/web.xml,将节点env-entry-value的值换成solrhome目录。

<env-entry>

   <env-entry-name>solr/home</env-entry-name>

   <env-entry-value>D:/solr/apache-tomcat-8.5.23/webapps/solr/solrhome</env-entry-value>

   <env-entry-type>java.lang.String</env-entry-type>

</env-entry>

启动tomcat,访问httpL//localhost:8080/solr

3. 配置solr - solrconfig.xml文件

3.1 配置solrCore

1、在solrhome目录下创建collection1目录

2、将solr-5.3.1\server\solr\configsets\sample_techproducts_configs的conf目录拷贝到collection1目录下

3、在httpL//localhost:8080/solr目录上点击addcore操作

此时,目录下会自动创建一个data,目录和core.properties文件

这里所有配置其实就是配置SolrCore目录下的conf/solrconfig.xml

这个文件是来配置SolrCore实例的相关信息。如果使用默认配置可以不用做任何修改。它里面包含了不少标签,但是我们经常使用的标签为:lib标签、datadir标签、requestHandler标签。

3.2 solr需要的jar包

在solrconfig.xml中可以加扩展载一些的jar,如果需要使用,则首先要把这些jar复制到指定的目录,我们复制到solrhome同级目录

复制之前解压的文件夹中的contribdist文件夹

粘贴到solrhome目录下。

修改solrconfig.xml配置文件加载扩展的jar。

configsolr.install.dir表示${solrcore}的目录位置也就是collection1,在这里配置好相对路径,我这里是进行了如下修改:

./ 表示当前目录 ../表示上一级目录

修改前

<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />

修改后

<lib dir="${solr.install.dir:../}/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../}/dist/" regex="solr-cell-\d.*\.jar" />

<lib dir="${solr.install.dir:../}/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../}/dist/" regex="solr-clustering-\d.*\.jar" />

<lib dir="${solr.install.dir:../}/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../}/dist/" regex="solr-langid-\d.*\.jar" />

<lib dir="${solr.install.dir:../}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../}/dist/" regex="solr-velocity-\d.*\.jar" />

3.3 配置SolrCore的data目录。

data目录用来存放SolrCore的索引文件和tlog日志文件

solr.data.dir表示${solrcore}/data的目录位置

如果不想使用默认的目录也可以通过solrconfig.xml更改索引目录 ,

例如:

(建议不修改,否则配置多个SolrCore会报错)

3.4 requestHandler标签

requestHandler请求处理器,定义了索引和搜索的访问方式。

通过/update维护索引,可以完成索引的添加、修改、删除操作。

通过/select搜索索引。

设置搜索参数完成搜索,搜索参数也可以设置一些默认值,如下:

<requestHandler name="/select" class="solr.SearchHandler">

    <!-- 设置默认的参数值,可以在请求地址中修改这些参数-->

    <lst name="defaults">

        <str name="echoParams">explicit</str>

        <int name="rows">10</int><!--显示数量-->

        <str name="wt">json</str><!--显示格式-->

        <str name="df">text</str><!--默认搜索字段-->

    </lst>

</requestHandler>

猜你喜欢

转载自blog.csdn.net/zzzgd_666/article/details/80873617
今日推荐