solr的安装和索引库初始化在两外两个帖子里已经写过
solr安装:http://www.cnblogs.com/henghengdh/p/solr安装.html
solr初始化索引库:http://www.cnblogs.com/henghengdh/p/3467767.html
现在写下solr的中文分词配置。
1.首先下载最新版本的mmseg4j-1.9.1,之前我安装的solr是4.6版本,mmseg4j-1.9.1并不支持,只好换成了solr4.5.1.
下载完后解压,将mmseg4j-1.9.1\dist下的三个jar包放到solr服务器tomcat\webapps\solr\WEB-INF\lib下。
2.在解压后的mmseg4j-1.9.1文件夹中找到README.txt,里边有分词器的配置代码,如下
<fieldType name="textComplex" class="solr.TextField" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/> </analyzer> </fieldType> <fieldType name="textMaxWord" class="solr.TextField" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/> </analyzer> </fieldType> <fieldType name="textSimple" class="solr.TextField" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="n:/OpenSource/apache-solr-1.3.0/example/solr/my_dic"/> </analyzer> </fieldType>
去掉dicPath="dic",然后将代码放入$solrhome\jxet\conf\schema.xml中的types节点中
3.配置自己的索引库字段,solr的索引库字段配置都在$solrhome\jxet\conf\schema.xml中,详细参看官方wiki:http://wiki.apache.org/solr/SchemaXml。我这里的配置如下
如上图,需要分词的字段type都改成textComplex。
然后需要纳入搜索的字段单独配下copyField,如下图
这样这五个字段都将被拷贝进text索引字段中,搜索是会对这几个字段同时进行搜索。
4.配置完成后启动solr服务器,检验下中文分词是否配置成功。进入solr管理页面,进入自己配的索引库选项卡jxet-Analysis中,可以看到下图
这里有我们自己配置的字段,选中任意一个我们配置了中文分词的字段,如content,然后在Field Value (Index)框中随便输入一句话,然后点Analyse valuie按钮,就可以看到分词结果,如下
5.向索引库中添加数据(我这里使用solrJ集成到自己的项目中使用的,后边会再开个帖子说这部分),然后在Query选项卡中查看结果,如下图
在q框中输入text:期中 认真,点击搜索,右边的搜索结果,可以看到content中包含的“认真”和“期中”的信息被查询了出来。