1) 下载solr:http://www.apache.org/dyn/closer.lua/lucene/solr并解压
2) 下载tomcat服务器
3) 把solr目录下的server/solr-webapp/webapp 重命名为solr,并且放置到tomcat-solr/webapp的目录下
4) 创建solr_home文件夹,并将solrserversolr文件夹里的所有内容拷贝至solrhome下,并在此目录 下创建****_core文件夹
注:****_core,此为你需要为什么项目做solr服务的项目名字;
5) 将solrserversolrconfigsets\_defaultconf目录拷贝至上一步创建的创建的****-core中;
6) 打开tomcat-solr/webapp/solr/WEB-INF/web.xml,找到<env-entry>标签,将其注释放开,并配置<env-entry-value>标签的值为../solrhome
注:此标签值为你solrhome的路径也可为D:/Program Files/solr-7.5.0/solr_home;
7) 在tomcat-solr/webapp/solr/WEB-INF/文件夹中,建立classes目录
8) 把solr/server/resource/log4j2.xml复制到上一步建立的classes目录中
修改日志输出路径
9) 把solr/server/lib/ext/目录下的所有jar文件复制到tomcat-solr/webapp/solr/WEB-INF/lib/中,这是一些日志用的jar包,不然启动报错
10) 复制solr/server/lib目录中以metrics开头的五个jar包至tomcat-solr/webapp/solr/WEB-INF/lib/中
11) 复制solr/dist/solr-dataimporthandler-*.jar至tomcat-solr/webapp/solr/WEB-INF/lib/中
12) solr默认的安全设置不允许非trace方法访问,打开tomcat-solr/webapp/solr/WEB-INF/web.xml。注释安全相关的设置,找到<security-constraint></security-constraint>这两个标签,将其注释。
13)配置IK分词器
添加ik-analyzer-7.5.0.jar
添加IKAnalyzer.cfg.xml配置文件
14)修改managed-schema文件
<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>
15)配置属性
<field name="s_name" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" />
<field name="s_title" type="text_ik" indexed="true" stored="true" required="false" multiValued="false" />
<field name="s_content" type="text_ik" indexed="true" stored="true" required="false" multiValued="false" />
<field name="s_price" type="pdouble" indexed="true" stored="true" required="true" multiValued="false" />
<field name="s_color" type="string" indexed="true" stored="true" required="false" multiValued="false" />
<field name="s_orderBy" type="pint" indexed="true" stored="true" required="true" multiValued="false" />
<field name="s_updatetime" type="pdate" indexed="true" stored="true" required="true" multiValued="false" />