欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[SOLR]-搭建solr服务器

程序员文章站 2024-03-20 16:04:28
...

前提准备:

1.jdk1.8 并配置环境变量

2.tomcat8 并配置环境变量

搭建solr

1.官网下载solr对应系统的版本 我下载的是solr-7.7.3

2.将solr项目(solr-7.7.3/server/solr-webapp/webapp/)复制到tomcat webapps目录下

3.jar包复制:

        a.路径(solr-7.7.3/server/lib/ext/)下8个

        b.路径(solr-7.7.3/server/lib/)下5个(metrics-core-3.2.6.jar,metrics-ganglia-3.2.6.jar,metrics-graphite-3.2.6.jar,metrics-jetty9-3.2.6.jar,metrics-jvm-3.2.6.jar

a,b 路径中的jar包复制到tomcat webapps 下的solr项目的lib目录下(apache-tomcat-         8.5.68/webapps/solr/WEB-INF/lib/

4.配置索引库

        单独创建文件夹存放索引库及内容solrhome例如:/solrhome

        修改tomcat中solr项目web.xml(apache-tomcat-8.5.68/webapps/solr/WEB-INF/)

        添加如下配置:

  <env-entry>
     <env-entry-name>solr/home</env-entry-name>
     <env-entry-value>/具体路径/solrhome</env-entry-value>
     <env-entry-type>java.lang.String</env-entry-type>
  </env-entry>

        *注释掉如下配置:(访问403)

<!--
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Disable TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method>TRACE</http-method>
    </web-resource-collection>
    <auth-constraint/>
  </security-constraint>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Enable everything but TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method-omission>TRACE</http-method-omission>
    </web-resource-collection>
  </security-constraint>
-->

        将solr原始文件中的索引库内容移植到刚刚自定义的文件夹中

        (solr-7.7.3/server/solr/*)-->/具体路径/solrhome

        修改索引库配置:

        1.添加自定义core

        /具体路径/solrhome/ 目录下添加自定义core文件夹 例如:(collection1)

        在文件夹中添加3个文件:①conf文件夹②data文件夹③core.properties文件

        ①conf文件夹内容复制(solrhome/configsets/sample_techproducts_configs/conf/)

                下的文件

        ③core.properties文件内容:
        name=collection1

        2.修改(solrhome/configsets/sample_techproducts_configs/conf/)

                中solrconfig.xml文件


  <lib dir="/源文件存放地址/solr-7.7.3/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="/源文件存放地址/solr-7.7.3/dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="/源文件存放地址/solr-7.7.3/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="/源文件存放地址/solr-7.7.3/dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="/源文件存放地址/solr-7.7.3/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="/源文件存放地址/solr-7.7.3/dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="/源文件存放地址/solr-7.7.3/dist/" regex="solr-ltr-\d.*\.jar" />

  <lib dir="/源文件存放地址/solr-7.7.3/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="/源文件存放地址/solr-7.7.3/dist/" regex="solr-velocity-\d.*\.jar" />

5.为项目添加log4j日志配置文件

        项目目录(apache-tomcat-8.5.68/webapps/solr/WEB-INF/)添加文件classes

        (solr-7.7.3/server/resources/)目录的文件添加到刚刚创建的classes下

目前可以启动tomcat 访问到solr服务器


配置IK 中文分词器

1.下载IK包:我使用的是(ikanalyzer-solr6.5.zip)

        将其中的jar包(ik-analyzer-solr5-5.x.jar,solr-analyzer-ik-5.1.0.jar)复制到tomcat下 solr项目中目录(apache-tomcat-8.5.68/webapps/solr/WEB-INF/lib/

2.solr项目添加 IK配置(自定义词库)

将IK源文件中的配置文件(ext.dic,IKAnalyzer.cfg.xml,stopword.dic)放入项目classes文件夹中(apache-tomcat-8.5.68/webapps/solr/WEB-INF/classes/)

3.配置分词域

找到刚刚自定义的索引库 的自定义core中的配置 进行修改

(solrhome/configsets/sample_techproducts_configs/conf/)下的

添加如下配置


    <fieldType name="text_ik" class="solr.TextField">
        <analyzer type="index" useSmart="false"
            class="org.wltea.analyzer.lucene.IKAnalyzer" />
        <analyzer type="query" useSmart="true" 
            class="org.wltea.analyzer.lucene.IKAnalyzer" />
    </fieldType>
    
    <!-- 使用IK分词的字段 -->

    <field name="自定义字段" type="text_ik" indexed="true" stored="false"/>

重启tomcat服务器 完成配置