Solr4.7.1中配置中文分词器

简介:

1、SmartChineseAnalyzer

   (1)将lucene-analyzers-smartcn-4.7.1.jar添加到tomcat/webapps/solr/WEB-INF/lib文件中

   (2)编辑solr主目录中conf/schema.xml文件,在<types></types>之间添加如下定义:

wKiom1M_sjvSHHlrAAESnNtIraw311.jpg

   (3)为了测试,将schema.xml中<field name="author">的type类型改为text_zh

wKioL1M_ssqRk0SSAABUejex56A373.jpg

   (4)测试,启动tomcat,浏览器访问http://localhost:8080/solr/#/collection1/analysis

wKiom1M_s6HwMOPUAAHbV7sXGD4533.jpg



2、IK Analyzer

   (1)将IKAnalyzer2012FF_u1.jar添加到tomcat/webapps/solr/WEB-INF/lib文件夹中

   (2)编辑solr主目录中conf/schema.xml文件,添加如下定义

wKiom1M_tI-TOWuPAACxx6Pd1jA673.jpg

   (3)为了配合测试,将title自动的type改为text_ik

wKioL1M_tNGTRXeUAACLO_qnvDs281.jpg

   (4)测试,同样http://localhost:8080/solr/#/collection1/analysis

wKiom1M_tV6hNexOAAH1HcrnjMQ941.jpg


补充:

   MMSeg4j也是一个中文分词器,当前版本是1.9.1,链接:http://code.google.com/p/mmseg4j/

   我在测试过程中发现,用这个分词器在分词时会报如下错误:

java.lang.IllegalStateException: TokenStream contract violation: reset()/close() call missing, reset() called multiple times, or subclass does not call super.reset(). Please see Javadocs of TokenStream class for more information about the correct consuming workflow.

   原因是在调用incrementToken()方法之前没有调用reset()方法

   这里纠结这个问题了。。。



本文转自    手不要乱摸      51CTO博客,原文链接:http://blog.51cto.com/5880861/1390918

相关文章
|
6月前
|
自然语言处理 API 索引
Elasticsearch Analyzer原理分析并实现中文分词
Elasticsearch Analyzer原理分析并实现中文分词
106 0
|
存储 XML SQL
solr之Ik中文分析器的安装
solr之Ik中文分析器的安装
128 0
|
自然语言处理 算法 Java
【Solr】之中文分词及IK库的安装使用-4
【Solr】之中文分词及IK库的安装使用-4
226 0
【Solr】之中文分词及IK库的安装使用-4
|
自然语言处理
elasticsearch安装中文分词扩展elasticsearch-analysis-ik
elasticsearch安装中文分词扩展elasticsearch-analysis-ik
185 0
|
自然语言处理 API 开发工具
elasticsearch7.13.4 ik中文分词器安装
elasticsearch7.13.4 ik中文分词器安装
346 0
|
存储 XML JSON
ElasticSearch 如何使用 ik 进行中文分词?
本篇文章则着重分析 ElasticSearch 在全文搜索前如何使用 ik 进行分词,让大家对 ElasticSearch 的全文搜索和 ik 中文分词原理有一个全面且深入的了解
ElasticSearch 如何使用 ik 进行中文分词?
下一篇
无影云桌面