- 将solr-7.3.0\server\solr下文件全部复制到solrhome文件夹中
- 在solrhome文件夹中新建一个solr_core文件夹,将Tomcat8\solr_h\solrhome\configsets\_default\中conf文件复制到solr_core文件夹下。
- Solrhome是solr服务运行的主目录,一个solrhome目录里面包含多个solrcore目录,一个solrcore目录里面了一个solr实例运行时所需要的配置文件和数据文件。每一个solrcore都可以单独对外提供搜索和索引服务。多个solrcore之间没有关系。
- 在Tomcat8\webapps下新建solr文件夹,将solr-7.2.0\server\solr-webapp\webapp下文件全部复制Tomcat8\webapps\solr到文件夹中
- 将solr-7.2.0的server/solr-webapp/lib/ext下的所有jar包复制到上一步solr/WEB-INF/lib下;
- 将solr-7.2.0的server/solr-webapp/lib下的metrics-*和gmetric4j-1.0.7.jar复制到上一步的lib目录下;
- 将solr-7.2.0的server/resources目录下的log4j.properties文件复制到WEB-INF/classes目录下,默认没有classes目录,自己创建;
- (可选)在tomcat配置solr日志存放目录,在tomcat安装目录下,打开tomcat8\bin目录,找到catalina.bat文件,用文本编辑器打开该文件,找到:gotJsseOpts这句所在的位置,在set"JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%"这句后面加上以下两句:
- rem add solr log path
- set "JAVA_OPTS=%JAVA_OPTS%-Dsolr.log.dir=../logs/"(注:等号后面的路径可根据实际情况自己配置)。
- 需要修改的地方:Tomcat8\webapps\solr\WEB-INF\web.xml,在这个xml中放开此注释,修改env-entry-value的路径为solrhome所在的路径
- 并在这个web.xml的最后注释此代码
-
<!-- <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> -->
- IK分词器
ext.dic为扩展字典
stopword.dic为停止词字典
IKAnalyzer.cfg.xml为配置文件
solr-analyzer-ik-5.1.0.jar ik-analyzer-solr5-5.x.jar为分词jar包。
1)将IK分词器 JAR 包拷贝到Tomcat8\webapps\solr\WEB-INF\lib下
2)将词典 配置文件拷贝到 Tomcat8\webapps\solr\WEB-INF\classes下
3)更改在Tomcat8\solr_h\solrhome\solr_core\conf找到managed-schema
配置文件,添加以下:
<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>