Solr之中文分词

针对Solr的分词器比较多,其中最常用的的两个是mmseg4j和ik-analyzer,使用都很方便,关于分成器的比较参考:与Lucene 4.10配合的中文分词比较,ik-analyzer最新版本IKAnalyzer2012FF_u1与最新版本solr有兼容问题,由于我们使用的solr是5.2.1,下面外面以mmseg4j为例演示一下solr配置:

mmseg4j官网:https://github.com/chenlb/mmseg4j-solr

由于存在版本兼容问题,根据官网提示需下载,如下版本:

  • mmseg4j-solr-2.3.0.jar 要求 lucene/solr [5.0, ]
将下载的mmseg4j-core-1.10.0.jar和mmseg4j-solr-2.3.0.jar复制到tomcat/webapp/solr的工程的lib下面:

配置分词,修改schema.xml配置,末尾增加如下:
	<fieldtype name="textComplex" class="solr.TextField" positionIncrementGap="100">
    <analyzer>
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" />
    </analyzer>
	</fieldtype>
	<fieldtype name="textMaxWord" class="solr.TextField" positionIncrementGap="100">
		<analyzer>
			<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" />
		</analyzer>
	</fieldtype>
	<fieldtype name="textSimple" class="solr.TextField" positionIncrementGap="100">
		<analyzer>
			<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" />
		</analyzer>
	</fieldtype>
tokenizer 的参数:
dicPath 参数 - 设置自定义的扩展词库,支持相对路径(相对于 solr_home).
mode 参数 - 分词模式。
配置field:
<field name="name" type="textComplex" indexed="true" stored="true" />     
<field name="age" type="int" indexed="false" stored="true" />     
<field name="desc" type="textComplex" indexed="true" stored="true" />     
<field name="context" type="textComplex" indexed="true" stored="false" multiValued="true"/>    
重启tomcat。
查看分词效果
1.打开solr服务器主页, http://192.168.18.119:9080/solr/
2.选择test
3.选择Analysis
4.选择使用的字段,需要为应用了新类型的字段
5.点击右侧的Analyse Values提交即可查看分词效果

参考文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值