环境:centos6.5、jdk1.8、solr6.6、Tomcat8
1.准备jdk1.8和Tomcat8并配置好环境变量
2.下载solr6.6
wget http://apache.fayea.com/lucene/solr/6.6.0/solr-6.6.0.tgz
3.解压solr6.6
tar -axvf solr-6.6.0.tgz
4.将webapp文件夹复制到tomcat的webapps下,并更名为solr(可以为任意名称)
cp -r solr-6.6.0/server/solr-webapp/webapp tomcat8/webapps/solr
5.拷贝solr-6.6.0\server\lib\ext下的jar包到tomcat下的webapps\solr\WEB-INF\lib路径下
cp solr-6.6.0/server/lib/ext/*.jar tomcat8/webapps/solr/WEB-INF/lib/
6.拷贝solr-6.6.0\dist 下的solr-dataimporthandler-6.6.0.jar、solr-dataimporthandler-extras-6.6.0.jar 包到tomcat下的webapps\solr\WEB-INF\lib路径下
cp solr-6.6.0/dist/solr-dataimporthandler*.jar tomcat8/webapps/solr/WEB-INF/lib
7.拷贝solr-6.6.0\server\lib下的metrics开头的5个jar到tomcat下的webapps\solr\WEB-INF\lib路径下(metrics-core-3.2.2.jar、metrics-ganglia-3.2.2.jar、metrics-graphite-3.2.2.jar、metrics-jetty9-3.2.2.jar、metrics-jvm-3.2.2.jar)
cp solr-6.6.0/server/lib/metrics*.jar tomcat8/webapps/solr/WEB-INF/lib/
8.新建一个文件夹solr-home,并将solr-6.6.0/server/路径下solr文件夹中的内容拷贝过来
mkdir solr-home
cp -r solr-6.6.0/server/solr
9.在tomcat的webapps\solr\WEB-INF路径下创建classes文件夹,然后将solr-6.6.0\server\resources文件夹下的log4j.properties拷贝过去,并修改日志路径
mkdir tomcat8/webapps/solr/WEB-INF/classes
cp solr-6.6.0/server/resources/log4j.properties tomcat8/webapps/solr/WEB-INF/classes
10.将solr-home的路径配置到tomcat下的webapps/solr/WEB-INF/web.xml;并修改权限,此处直接注释掉
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/root/solrHome/solr-home</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
11.启动tomcat,在浏览器输入地址:http://192.168.3.21:8180/solr/index.html
12.添加一个核myCore1:在solr-home下创建一个文件myCore1,复制solr-home/configsets/basic_configs/conf到myCore1中
mkdir solr-home/myCore1
cp -r solr-home/configsets/basic_configs/conf solr-home/myCore1
三.配置IK Analyzer中文分词器
1.下载并解压IK Analyzer,下载路径:https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/ik-analyzer/IKAnalyzer2012_u6.zip
2.将IK Analyzer的jar文件拷贝到tomcat8/webapps/solr/WEB-INF/lib
cp ./IKAnalyzer2012_u6.jar ../../tomcat8/webapps/solr/WEB-INF/lib
3.将IK Analyzer的配置文件拷贝到tomcat8/webapps/solr/WEB-INF/classes
cp ./IKAnalyzer.cfg.xml ../../tomcat8/webapps/solr/WEB-INF/classes
cp IKA/stopword.dic ../tomcat8/webapps/solr/WEB-INF/classes
//可自定义词库
在IKAnalyzer.cfg.xml 文件中配置gdt.dic,然后创建一个gdt.dic文件
"ext_dict">gdt.dic
4.修改myCore1/conf下的配置文件managed-schema,指定所需分词的字段
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
fieldType>
四.从mysql导入数据到solr,并创建索引
1.在soreconfig.xml的上面配置如下内容:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xmlstr>
lst>
requestHandler>
2.配置data-config.xml
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/microservice_test" user="root" password="" batchSize="-1" />
<document>
<entity name="sys_user" query="select id ,username,password from sys_user">
<field column="id" name="id" />
<field column="username" name="username"/>
<field column="password" name="password"/>
entity>
document>
dataConfig>
3.配置managed-schema
<field name="username" type="string" indexed="true" stored="false"/>
<field name="password" type="string" indexed="true" stored="false"/>