前提准备:
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"/>