一.环境:solr6.2 + jdk1.8 + tomcat8 (solr不同版本需要最低的环境不同) solr6 需要至少jdk1.8 。对应的solr5+jdk1.7+tomcat7 实测可用。
二.jdk的安装和环境变量设置(自行百度) ,tomcat安装解压版 安装版都可以。
三.solr集成tomcat服务器:
需要的安装文件。solr-6.2.0(solr文件) sogou-dic-utf8(搜狗词库) mmseg4j-solr-2.3.0.jar mmseg4j-core-1.10.0.jar
只讲tomcat下的配置,solr6 本身集成 jetty 可以直接部署访问。
1.将solr-6.2.0\server\solr-webapp 下的 webapp复制到tomcat中,并改名为solr (solr5起项目都在这个地方)。
2.加入jar包和log4j 。 solr-6.2.0\server\lib\ext 下所有包到WEB-INF的lib下。\solr-6.2.0\server\resources 下的log4j.properties 到WEB-INF的classes目录下。没有则创建。
3.添加配置: tomcat中apache-tomcat-7.0.70\webapps\solr 下创建solr_home为配置目录。将\solr-6.2.0\server\solr 下的 zoo.cfg 和 solr.xml 拷贝到solr_home中, 并solr_home下新建core为默认core 。选择configsets下一种配置方式拷贝里面的conf 到core中。并创建有一个core.properties 内容为 name=core 为创建的core文件夹名称。
4.dic为词库文件夹
5.启动tomcat 访问127.0.0.1:8080/solr/index.html 可以访问 但是分词中文时不能按正常语句分词。
6.集成mmseg分词器和搜狗词库。
7.导包:mmseg4j-solr-2.3.0.jar mmseg4j-core-1.10.0.jar 创建词库dic目录 拷贝文件。
8.在 core/conf下managed-schema 中添加
<!-- mmseg4j--> <fieldType name="text_mmseg4j_complex" class="solr.TextField" positionIncrementGap="100" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic文件夹目录"/> </analyzer> </fieldType> <fieldType name="text_mmseg4j_maxword" class="solr.TextField" positionIncrementGap="100" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic文件夹目录"/> </analyzer> </fieldType> <fieldType name="text_mmseg4j_simple" class="solr.TextField" positionIncrementGap="100" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="dic文件夹目录"/> </analyzer> </fieldType> <!-- mmseg4j-->
<!-- mmseg4j --> <field name="mmseg4j_complex_name" type="text_mmseg4j_complex" indexed="true" stored="true"/> <field name="mmseg4j_maxword_name" type="text_mmseg4j_maxword" indexed="true" stored="true"/> <field name="mmseg4j_simple_name" type="text_mmseg4j_simple" indexed="true" stored="true"/> <!--mmseg4j -->
分词器配置完成 可以实现中文分词