下载地址: http://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/8.3.0/solr-8.3.0-src.tgz
下载地址:https://search.maven.org/search?q=com.github.magese
分词器GitHub源码地址:https://github.com/magese/ik-analyzer-solr8
百度网盘:链接: https://pan.baidu.com/s/10kKYD_DDsrhl_eKeYR9FAw 提取码: 82wt
1安装tomcat8.5
太简单就不写步骤了,如果遇到如下问题,请查看端口是否冲突了,另外测试tomcat能够运行后,把tomcat关掉后再配置solr和ik-analyzer
2 解压solr-8.3.0.tgz,并拷贝web工程:将solr-8.3.0/server/solr-webapp/下的webapp文件夹拷贝到Tomcat的webapps目录下并改成你要用的名字
tar -zxvf solr-8.3.0.tgz
cp server/solr-webapp/webapp /usr/local/tomcat8.5/webapps/solr -r
3 拷贝日志工具相关jar包:将solr-8.3.0/server/lib/ext下的jar包拷贝至上面Tomcat下Solr的/WEB-INF/lib/目录下
cp solr-8.3.0/server/lib/ext/* /usr/local/tomcat8.5/webapps/solr/WEB-INF/lib/
4 拷贝metrics相关jar包:将solr-8.3.0/server/lib下metrics相关jar包也拷贝至/WEB-INF/lib/目录下
ls solr-8.3.0/server/lib/ |grep metrics-.*|xargs -i cp solr-8.3.0/server/lib/{} /usr/local/tomcat8.5/webapps/solr/WEB-INF/lib/
些命令有点笨,目的是找出以metrics开头的文件并cp,如果cp有更简单的方法请留言给我,在此跪谢!
:)
5拷贝log4j2配置文件:将solr-8.3.0/server/resource目录中的log4j配置文件拷入web工程目录WEB-INF/classes(自行创建目录)
mkdir /usr/local/tomcat8.5/webapps/solr/WEB-INF/classes
cp solr-8.3.0/server/resources/log4j2.xml /usr/local/tomcat8.5/webapps/solr/WEB-INF/classes
cp solr-8.3.0/server/resources/log4j2-console.xml /usr/local/tomcat8.5/webapps/solr/WEB-INF/classes
6 创建solrhome:拷贝solr-8.3.0/server/solr目录到你想要的位置,Solrhome是存放solr服务器所有配置文件的目录。
mkdir /usr/local/solrhome
cp -r solr-8.3.0/server/solr/* /usr/local/solrhome
drwxr-xr-x. 4 root root 4096 11月 28 13:44 configsets
-rw-r--r--. 1 root root 3018 11月 28 13:44 README.txt
-rw-r--r--. 1 root root 2253 11月 28 13:44 solr.xml
-rw-r--r--. 1 root root 975 11月 28 13:44 zoo.cfg
7 指定solrhome位置:修改solrweb工程的web.xml文件,在web-app节点下添加标签并注释掉安全相关的标签
增加如下标签
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
注释掉如下安全相关的标签
<!--
<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>
-->
8 启动tomcat并测试
/usr/local/tomcat8.5/bin/startup.sh
访问:http://192.168.119.12:9999/solr/index.html(记得敲/index.html)
9 新建测试实例
在点击 Add Core之前,一定要执行如下步骤,否则会出一大堆无法描述的错误:
a 在solrhome下新建core目录
mkdir /usr/local/solrhome/test_core
b 把solr-8.3.0/server/solr/configsets/_default/conf/下的所有文件复制到/usr/local/solrhome/test_core/下
cp -r solr-8.3.0/server/solr/configsets/_default/conf/* /usr/local/solrhome/test_core/
点击 Add Core后截图留恋并感谢佛祖
10 加入ik-analyzer-8.3.0.jar(中文分析器,用来分词用)
1 复制jar包
cp ik-analyzer-8.3.0.jar /usr/local/tomcat8.5/webapps/solr/WEB-INF/lib
另:为了方便自定义ik-analyzer的设置,可以把ik-analyzer-8.3.0.jar中的配置文件 也复制过来
cp -r ik-analyzer-8.3.0/* /usr/local/tomcat8.5/webapps/solr/WEB-INF/classes
2 修改/usr/local/solrhome/test_core目录中的managed-schema文件,加入如下标签
<!-- ik分词器 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
3 重启tomcat后刷新页面就能看到新加入的分词器了
11 完工,有啥错误的地方请指正
补充:日志出现Couldn't add files from /opt/solrhome/ljf_dev/../../../../contrib/extraction/lib filtered by .*\.jar to classpath: /opt/solrhome/ljf_dev/../../../../contrib/extraction/lib
把solrconfig.xml里面的配置文件 修改正确即可[暂时没有发现影响使用,但我有代码洁癖,所以一定要干掉此错误,哈哈 :)]
<lib dir="/usr/local/solrhome/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="/usr/local/solrhome/dist/" regex="solr-cell-\d.*\.jar" />
<lib dir="/usr/local/solrhome/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="/usr/local/solrhome/dist/" regex="solr-clustering-\d.*\.jar" />
<lib dir="/usr/local/solrhome/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="/usr/local/solrhome/dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="/usr/local/solrhome/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="/usr/local/solrhome/dist/" regex="solr-velocity-\d.*\.jar" />
<lib dir="/usr/local/solrhome/dist/" regex="solr-ltr-\d.*\.jar" />
cp -rf /root/solr-8.3.0/contrib /usr/local/solrhome/contrib
cp -rf /root/solr-8.3.0/dist /usr/local/solrhome/dist
ll /usr/local/solrhome/
:)