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
|
存储 自然语言处理 应用服务中间件
20Solr配置中文分析器
20Solr配置中文分析器
43 0
|
存储 XML SQL
solr之Ik中文分析器的安装
solr之Ik中文分析器的安装
128 0
|
自然语言处理 算法 Java
【Solr】之中文分词及IK库的安装使用-4
【Solr】之中文分词及IK库的安装使用-4
229 0
【Solr】之中文分词及IK库的安装使用-4
|
存储 XML JSON
ElasticSearch 如何使用 ik 进行中文分词?
本篇文章则着重分析 ElasticSearch 在全文搜索前如何使用 ik 进行分词,让大家对 ElasticSearch 的全文搜索和 ik 中文分词原理有一个全面且深入的了解
ElasticSearch 如何使用 ik 进行中文分词?
|
自然语言处理 Java 索引
全文检索Solr集成HanLP中文分词
以前发布过HanLP的Lucene插件,后来很多人跟我说其实Solr更流行(反正我是觉得既然Solr是Lucene的子项目,那么稍微改改配置就能支持Solr),于是就抽空做了个Solr插件出来,开源在Github上,欢迎改进。
3372 0