为solr配中文分词
solr版本:solr-4.10.3.
关于分词,看起来用得比较多的就是mmseg4j, 这时候网上的最新版是mmseg4j-1.9.1.zip。
我下载下来,试了半天,没有成功。直接把分词器换成”com.chenlb.mmseg4j.solr.MMSegTokenizerFactory”的结果是:
java.lang.AbstractMethodError: org.apache.lucene.analysis.util.TokenizerFactory.create(Lorg/apache/lucene/util/AttributeFactory;Ljava/io/Reader;)Lorg/apache/lucene/analysis/Tokenizer;
目前还不知道应该怎么处理。
后来发现,solr其实自带一个中文的分词器。这个文件在solr根目录下的路径是这样的。
./contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-4.10.3.jar
为了启用这个分词,需要将这个文件拷贝到solr-4.10.3/node1/solr-webapp/webapp/WEB-INF/lib 下。
然后更新solr-4.10.3/node1/solr/collection1/conf/schema.xml 如下:
<fieldType name="text_general" c l ass="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<!-- <tokenizer class="solr.StandardTokenizerFactory"/> -->
<tokenizer c l ass="solr.SmartChineseSentenceTokenizerFactory" />
<filter c l ass="solr.SmartChineseWordTokenFilterFactory" />
</analyzer>
<analyzer type="query">
<!-- <tokenizer class="solr.StandardTokenizerFactory"/> -->
<tokenizer c l ass="solr.SmartChineseSentenceTokenizerFactory" />
<filter c l ass="solr.SmartChineseWordTokenFilterFactory" />
</analyzer>
</fieldType>
然后重启solr即可。下面是一个分词实验的结果,貌似还可以:
本文地址: http://www.bagualu.net/wordpress/archives/4152 转载请注明