IK分词源代码分析学习——与solr4.0接口
在Solr4.0发布以后,官方取消了BaseTokenizerFactory接口,而直接使用Lucene Analyzer标准接口。因此IK分词器2012 FF版本也取消了org.wltea.analyzer.solr.IKTokenizerFactory类。
所以以前在schema.xml文件中加入的内容:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100"><analyzer type="index"><tokenizer class = "org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false" /> ......</analyzer><analyzer type="query"><tokenizer class = "org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="true" /> ......</analyzer></fieldType>
而现在在schema.xml文件中加入的内容为:
<fieldType name="text" class="solr.TextField"><analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/></fieldType>
这也是之前配置会出错的原因,除非自己实现了IKTokenizerFactory类。
以下是IK分词器,Lucene Analyzer接口实现 兼容Lucene 4.0版本代码
public final class IKAnalyzer extends Analyzer {private boolean useSmart;public boolean useSmart() {return useSmart;}public void setUseSmart(boolean useSmart) {this.useSmart = useSmart;}/*** IK分词器Lucene Analyzer接口实现类* * 默认细粒度切分算法*/public IKAnalyzer() {this(false);}/*** IK分词器Lucene Analyzer接口实现类* * @param useSmart* 当为true时,分词器进行智能切分*/public IKAnalyzer(boolean useSmart) {super();this.useSmart = useSmart;}/*** 重载Analyzer接口,构造分词组件*/@Overrideprotected TokenStreamComponents createComponents(String fieldName,final Reader in) {Tokenizer _IKTokenizer = new IKTokenizer(in, this.useSmart());return new TokenStreamComponents(_IKTokenizer);}}
solr调用analyzer: http://ronxin999.blog.163.com/blog/static/4221792020117854548995/?suggestedreading
转载于:https://www.cnblogs.com/sunshineKID/p/3437862.html
IK分词源代码分析学习——与solr4.0接口相关推荐
- ES集群添加IK分词器
ES集群添加IK分词器 ES : 7.5.0 官方文档其实已经够优秀了,毕竟是中文的,这里只给出一些建议. IKAnalyzer.cfg.xml 建议放到插件的目录下,要不然有可能会有一些问题 {pl ...
- at org.apache.lucene.analysis.Analyzer.tokenStream(Analyzer.java:162)错误的解决办法主要是针对IK分词的结果运行错误解决
主要错误信息 Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysi ...
- ik分词器安装_Elasticsearch-analysis-ik-7.4.0_Linux_安装
ik分词器安装_Elasticsearch-analysis-ik-7.4.0 文章目录 ik分词器安装_Elasticsearch-analysis-ik-7.4.0 IK分词器安装 1.环境准备 ...
- ik分词和jieba分词哪个好_Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考...
前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...
- solr4.10和solr5.x ik分词器配置,(Deprecated--2017-04-23)
A:配置IK-Analyzer: 1.下载wltea-IK-Analyzer-2012FF-master,将IK-Analyzer-2012FF\dist中的IKAnalyzer2012_FF.jar ...
- docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)
docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器) 2019年01月27日 21:06:12 博陵精骑 阅读数:794 标签: dockerelasti ...
- ElasticSearch 6.0.0 IK分词 Kibana 6.0.0
ElasticSearch 6.0.0 & IK分词 & Kibana 6.0.0 1. 安装ES 6.0.0 docker run -itd -p 9200:9200 -p 9300 ...
- ElasticSearch6.5.0 【安装IK分词器】
不得不夸奖一下ES的周边资源,比如这个IK分词器,紧跟ES的版本,卢本伟牛逼!另外ES更新太快了吧,几乎不到半个月一个小版本就发布了!!目前已经发了6.5.2,估计我还没怎么玩就到7.0了. 下载 分 ...
- 开源搜索引擎solr4.0+tomcat7实现中文分词
2012年12月16日,solr4.0正式版发布,由于其新功能比较给力(特别是关于分布式的新特性,关联zookeeper等),所以准备替换掉老版本 官网下载solr4.0:http://lucene. ...
最新文章
- C#学习基本概念之关键字---delegate(委托)
- 战胜心理寂寞的六大秘方
- 两封邮件合并转发_卖家直呼!低价订单过多,listing合并竟被亚马逊封号!
- boost::remove_if相关的测试程序
- 机器学习从理论到工程的第二步-开发环境与工具篇
- influxdb数据过期_为什么腾讯QQ的大数据平台选择了InfluxDB数据库?
- java 调用sqlite_java 调用 sqlite 数据库
- 09基于对象编程风格
- 利用IP地址查询接口来查询IP归属地
- 中英文对照 —— 软件与病毒、电子与硬件
- Eclipse 更新Android SDK后,新建项目出现appcompat_v7project的相关问题
- python实现全自动百词斩单词对战,躺着上分轻轻松松
- Unity3D之FingerGestures学习
- 为什么这几年男生都不愿意去追女生了?
- Android studio中出现keeps stopping现象
- 数据库中关于preparedStatement和Statement分析
- Postgresql12 安装及设置远程访问
- Linux环境下搭建Apache服务器(完整版)
- Hadoop快速入门——入门考试(伪分布式60+编码25+执行jar15)
- 2018秋季寒假作业2-记叙在人生路上对我影响最大的三位老师