【开发笔记】Solr 6.5.1 Windows x64服务器部署笔记(含中文分词和业务字段定义)

本文详细介绍如何在Windows环境下配置Solr搜索服务器,包括安装部署流程、中文分词配置及业务字段设定等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,环境说明

(1)工具

        ①Tomcat 8.5.15 Windows 32位版本(jdk 1.8.0_131)

        ②Solr 6.5.1

(2)环境

         Windows7 64位

 

2,步骤

(1)解压Tomcat和Solr压缩包

(2)修改Tomcat文件夹名为fooSearch,清空webapps文件夹中所有内容

(3)从Solr文件夹中拷贝部分内容到Tomcat文件夹中:

源(Solr文件夹)

目标(Tomcat文件夹)

server\solr-webapp\webapp文件夹

webapps\fooSearch

复制并改名为fooSearch

server\lib\ext\*.jar文件

webapps\fooSearch\WEB-INF\lib\*.jar文件

server\lib\ metrics *.jar文件

webapps\fooSearch\WEB-INF\lib\*.jar文件

dist\ solr-dataimporthandler-*.jar文件

webapps\fooSearch\WEB-INF\lib\*.jar文件

server\resources\log4j.properties

webapps\fooSearch\WEB-INF\classes\log4j.properties

需创建classes文件夹设置log文件的位置

server\solr\*.*文件

solrhome\*.*文件

需创建solrhome文件夹

(4)配置Solr

 

①编辑web.xml文件,设置【solr/home】项,指向创建的solrhome文件夹。例如:

    <env-entry>

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

       <env-entry-value>C:/fooSearch/solrhome</env-entry-value>

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

    </env-entry>

②配置安全性约束【security-constraint】项,注释相关内容。例如:

  <!--

  <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>

  -->

(5)添加内核

源(Solr文件夹)

目标(Tomcat文件夹)

example\example-DIH\solr\solr\*.*文件

solrhome\core1\*.*文件

需创建core1文件夹

 

启动Tomcat(需要在startup.bat中设置JAVA_HOME),例如:

setlocal

 

set JAVA_HOME=C:\jdk1.8.0_131

 

rem Guess CATALINA_HOME if not defined

使用浏览器输入地址:http://localhost:8080/fooSearch/index.html进行验证。

(6)配置中文分词

①添加解析器

源(Solr文件夹)

目标(Tomcat文件夹)

contrib\analysis-extras\lucene-libs\lucene-analyzers-smartcn-6.5.1.jar

webapps\fooSearch\WEB-INF\lib\ lucene-analyzers-smartcn-6.5.1.jar

②设置字段类型

修改Tomcat文件夹下solrhome\core1\conf\ managed-schema文件,添加:

         <fieldType name="text_smartcn" class="solr.TextField" positionIncrementGap="0">

      <analyzer type="index">

                  <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>

      </analyzer>

      <analyzer type="query">

                  <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>

      </analyzer>

         </fieldType>

 

</schema>

重启Tomcat进行验证。

(7)配置IKAnalyzer分词

①添加解析器

源(附件)

目标(Tomcat文件夹)

 参考文档有下载链接

webapps\cjmSearch\WEB-INF\classes下:

①ext.dic

②stopword.dic

③IKAnalyzer.cfg.xml

 

 参考文档有下载链接

webapps\fooSearch\WEB-INF\lib下:

①ik-analyzer-solr5-5.x.jar

②solr-analyzer-ik-5.1.0.jar

修改IKAnalyzer.cfg.xml文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> 

<properties> 

         <comment>IK Analyzer 扩展配置</comment>

         <!--用户可以在这里配置自己的扩展字典 -->

         <entry key="ext_dict">ext.dic;</entry>

        

         <!--用户可以在这里配置自己的扩展停止词字典-->

         <entry key="ext_stopwords">stopword.dic;</entry>

        

</properties>

修改ext.dic添加自定义词典

 

②设置字段类型

修改Tomcat文件夹下solrhome\core1\conf\ managed-schema文件,添加:

         <!-- IK分词 -->

         <fieldType name="text_ik" class="solr.TextField">

      <analyzer type="index">

                  <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/>

      </analyzer>

      <analyzer type="query">

                  <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/>

      </analyzer>

         </fieldType>

 

</schema>

重启Tomcat进行验证。

(8)配置中文拼音分词

①添加解析器

源(附件)

目标(Tomcat文件夹)

 参考文档有下载链接

webapps\fooSearch\WEB-INF\lib下:

①pinyin4j-2.5.0.jar

②pinyinAnalyzer4.3.1.jar

②设置字段类型

修改Tomcat文件夹下solrhome\core1\conf\ managed-schema文件,添加:

              <!-- 拼音分词 -->

  <fieldType name="text_pinyin" class="solr.TextField" positionIncrementGap="0"> 

      <analyzer type="index"> 

        <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/> 

        <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" /> 

        <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" /> 

      </analyzer> 

      <analyzer type="query"> 

        <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/> 

        <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" /> 

        <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" /> 

      </analyzer> 

  </fieldType>

 

</schema>

重启Tomcat进行验证。

 

 

(9)配置业务字段

 

 

修改Tomcat文件夹下solrhome\core1\conf\ managed-schema文件,添加:

  <!-- biz -->

  <field name="fooChannel" type="text_general" indexed="true" stored="true"/>

  <field name="fooTitle" type="text_ik" indexed="true" stored="true"/>

  <field name="fooSubTitle" type="text_ik" indexed="true" stored="true"/>                                                               

  <field name="fooCat" type="text_general" indexed="true" stored="true"/>

  <field name="fooCatCode" type="text_general" indexed="true" stored="true"/>

  <field name="fooContents" type="text_ik" indexed="true" stored="true"/>

  <field name="fooBrief" type="text_ik" indexed="true" stored="true"/>

  <!-- biz -->

  <field name="fooStatus" type="int" indexed="true" stored="true"/>

  <field name="fooTsp" type="date" indexed="true" stored="true"/>                                                                                                        

 

</schema>

 

重启Tomcat进行验证。

       注意:为了与Solr自带的字段相区别,笔者建议业务字段统一带前缀(上文中的foo) 。

3,其他

(1)移动Tomcat文件夹的修改点

       编辑web.xml文件,设置【solr/home】项,指向移动后的solrhome文件夹

(2)自定义字典

       修改ext.dic添加自定义词典。

(3)服务端口

       Solr默认的端口为8983,需设置Tomcat的服务端口。

       修改conf/server.xml文件,将端口号从默认的8080修改为8903。

       另外建议添加URIEncoding=”UTF-8”,以对GET方法传汉字的支持。

    -->

    <Connector port="8983" protocol="HTTP/1.1"                                                                                           

               connectionTimeout="20000"

               redirectPort="8443" URIEncoding="UTF-8"/>

    <!-- A "Connector" using the shared thread pool-->

 

服务端的URL即为:http://<ip>:8983/fooSearch/core1/。

或,修改solrhome文件夹下的solr.xml文件,将【hostPort】项改为与conf/server.xml文件中指定的端口一致。

 

(4)初始化数据

 

使用浏览器:http://localhost:9883/fooSearch/index.html登录管理控制台。

选择目标核,进入文档项(Documents),通过XML命令执行更新操作。

<delete>

    <query>*:*</query>                                                                             

</delete>

<commit/>

4,参考文档

http://blog.youkuaiyun.com/l1028386804/article/details/70199983

http://blog.youkuaiyun.com/l1028386804/article/details/70200378

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值