全文索引----中文分词器mmseg4j

通常情况下,我们根据整个字段来索引数据,字段最长时,也不过十个字;但是还有一种情况,如果我们索引的是一篇文章呢?这时候如何处理这个字段,分词器很好的解决了这个问题。

solr服务器默认为我们提供了分词组件,但是Apache Solr提供的分词器对中文不太友好,举例如下:

它把整个句子的每个字都给分开了,这样如果索引一篇文章的话,体验相当的不友好。能够和solr完美集成的中文分词器不少,例如Mmseg4j、IkAnalyzer、ICTCLAS等。本文以Mmeseg4j为例,介绍中文分词器的使用。

一 引入jar包

下载以下三个jar包,mmseg4j-analysis-1.9.1.jar, mmseg4j-core-1.9.1.jar,mmseg4j-solr-1.9.1.jar,放到目录:/usr/local/solr-4.7.2/example/solr-webapp/webapp/WEB-INF/lib。

二 修改schema.xml

2.1 配置代码如下:

	<!-- 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="n:/OpenSource/apache-solr-1.3.0/example/solr/my_dic"/>
			-->
			<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="dic"/>
		</analyzer>
	</fieldType>
	<!-- mmseg4j-->

2.2 索引效果如下:

三 测试

3.1 添加测试文件

添加测试数据,内容如下:

3.2  查看搜索结果

四 总结

中文分词器可以提高句子的索引效率,项目中应该合理使用。

时间: 2024-08-29 15:46:28

全文索引----中文分词器mmseg4j的相关文章

solr4.5配置中文分词器mmseg4j

solr4.x虽然提供了分词器,但不太适合对中文的分词,给大家推荐一个中文分词器mmseg4j mmseg4j的下载地址:https://code.google.com/p/mmseg4j/ 通过以下几步就可以把mmseg4j分词器集成到solr中: 1.解压mmseg4j-1.9.1.zip,把dist下面的所有jar文件拷贝到你应用服务器下的solr/WEB-INF/lib中(如果你的应用服务器下面没有solr,请参考<solr部署到tomcat>). 2.拷贝data到solr_home

[Nutch]Solr配置自定义的中文分词器mmseg4j

上一篇博文我们有使用LUKE工具来查看使用solrindex产生的索引的具体内容,从里面可以看到,默认的分词很乱,所以这篇博文我们就使用mmseg4j中文分词器. 1. 下载mmseg4j 点击mmseg4j-1.8.5 .zip,进入下载页面. 2. 解压mmseg4j-1.8.5.zip 将下载的mmseg4j-1.8.5.zip文件放到workspace目录下面,在workspace目录使用如下命令解压到mmseg4j-1.8.5目录: unzip mmseg4j-1.8.5\ .zip

Solr配置中文分词器mmseg4j详解

针对solr的分词器比较多,其中最常用的的两个是mmseg4j和ik-analyzer,至于他们的区别可以网上查找比较下,这两个分词器都挺好用.我搭建的solr环境(上一篇)是4.10.3的最新版本,以下将详细说下mmseg4j的配置. 1.首先下载对应的jar包. 版本号一定要对应上否则可能会报错,下载地址为:http://code.google.com/p/mmseg4j/ 但是这个网址好像需要翻墙,所以大家可以到我的上传资源下载:http://download.csdn.net/downl

11大Java开源中文分词器的使用方法和分词效果对比

本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断. 11大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口: /** * 获取文本的所有分词结果, 对比不同分词器结果 * @author 杨尚川 */ public interface WordSegmenter {

9大Java开源中文分词器的使用方法和分词效果对比

本文的目标有两个: 1.学会使用9大Java开源中文分词器 2.对比分析9大Java开源中文分词器的分词效果 9大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口: /**  * 获取文本的所有分词结果, 对比不同分词器结果  * @author 杨尚川  */ public interface WordSegmenter {     /**      * 获取文本的所有分词结果      * @param text 文本      * @retur

中文分词器性能比较

摘要:本篇是本人在Solr的基础上,配置了中文分词器,并对其进行的性能测试总结,具体包括 使用mmseg4j.IKAnalyzer.Ansj,分别从创建索引效果.创建索引性能.数据搜索效率等方面进行衡量. 具体的Solr使用方法假设读者已有了基础,关于Solr的性能指标见前期的Solr博文. 前提:       Solr提供了一整套的数据检索方案,一台四核CPU.16G内存的机器,千兆网络.需求:       1.对Solr创建索引的效率有一定的要求. 2.中文分词速度要快,搜索速度也要快. 3

当前几个主要的Lucene中文分词器的比较

1. 基本介绍: paoding:Lucene中文分词"庖丁解牛" Paoding Analysis imdict :imdict智能词典所采用的智能中文分词程序 mmseg4j: 用 Chih-Hao Tsai 的 MMSeg 算法 实现的中文分词器 ik :采用了特有的"正向迭代最细粒度切分算法",多子处理器分析模式 2. 开发者及开发活跃度: paoding :qieqie.wang, google code 上最后一次代码提交:2008-06-12,svn

solr4.10.4 单机安装(并添加dataimport和中文分词器)

安装环境的准备: (这里直接给相关软件的版本号了) centos 6.4 apache-tomcat-7.0.57 solr-4.10.4 jdk1.7.0_75 jdk和tomcat这里就不给安装方式了,要是不会直接百度各种有. 具体步骤: 1.下载solr-4.10.4,然后解压开我这里解压到  /usr/local/zip/solr-4.10.4 中(安装目录一般我都会安装在/opt/web_app安装目录自己定义创建) 2.在/opt/web_app下创建solr_server/solr

cws_evaluation v1.1 发布,中文分词器分词效果评估对比

cws_evaluation是一个Java开源项目,用于对中文分词器的分词效果进行评估对比,目前支持9大中文分词器.分别是:word分词器.ansj分词器.mmseg4j分词器.ik-analyzer分词器.jcseg分词器.fudannlp分词器.smartcn分词器.jieba分词器.stanford分词器. 在1.1中,将9大中文分词器都升级到了最新版本,并采用Maven构建项目,增加了方便用户的运行脚本,且新增了交互式分词效果对比功能,同时也对分词代码做了优化和改进. 更多细节参考cws