在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接口相关推荐

  1. ES集群添加IK分词器

    ES集群添加IK分词器 ES : 7.5.0 官方文档其实已经够优秀了,毕竟是中文的,这里只给出一些建议. IKAnalyzer.cfg.xml 建议放到插件的目录下,要不然有可能会有一些问题 {pl ...

  2. at org.apache.lucene.analysis.Analyzer.tokenStream(Analyzer.java:162)错误的解决办法主要是针对IK分词的结果运行错误解决

    主要错误信息 Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysi ...

  3. ik分词器安装_Elasticsearch-analysis-ik-7.4.0_Linux_安装

    ik分词器安装_Elasticsearch-analysis-ik-7.4.0 文章目录 ik分词器安装_Elasticsearch-analysis-ik-7.4.0 IK分词器安装 1.环境准备 ...

  4. ik分词和jieba分词哪个好_Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考...

    前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...

  5. 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 ...

  6. docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)

    docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器) 2019年01月27日 21:06:12 博陵精骑 阅读数:794 标签: dockerelasti ...

  7. 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 ...

  8. ElasticSearch6.5.0 【安装IK分词器】

    不得不夸奖一下ES的周边资源,比如这个IK分词器,紧跟ES的版本,卢本伟牛逼!另外ES更新太快了吧,几乎不到半个月一个小版本就发布了!!目前已经发了6.5.2,估计我还没怎么玩就到7.0了. 下载 分 ...

  9. 开源搜索引擎solr4.0+tomcat7实现中文分词

    2012年12月16日,solr4.0正式版发布,由于其新功能比较给力(特别是关于分布式的新特性,关联zookeeper等),所以准备替换掉老版本 官网下载solr4.0:http://lucene. ...

最新文章

  1. C#学习基本概念之关键字---delegate(委托)
  2. 战胜心理寂寞的六大秘方
  3. 两封邮件合并转发_卖家直呼!低价订单过多,listing合并竟被亚马逊封号!
  4. boost::remove_if相关的测试程序
  5. 机器学习从理论到工程的第二步-开发环境与工具篇
  6. influxdb数据过期_为什么腾讯QQ的大数据平台选择了InfluxDB数据库?
  7. java 调用sqlite_java 调用 sqlite 数据库
  8. 09基于对象编程风格
  9. 利用IP地址查询接口来查询IP归属地
  10. 中英文对照 —— 软件与病毒、电子与硬件
  11. Eclipse 更新Android SDK后,新建项目出现appcompat_v7project的相关问题
  12. python实现全自动百词斩单词对战,躺着上分轻轻松松
  13. Unity3D之FingerGestures学习
  14. 为什么这几年男生都不愿意去追女生了?
  15. Android studio中出现keeps stopping现象
  16. 数据库中关于preparedStatement和Statement分析
  17. Postgresql12 安装及设置远程访问
  18. Linux环境下搭建Apache服务器(完整版)
  19. Hadoop快速入门——入门考试(伪分布式60+编码25+执行jar15)
  20. 2018秋季寒假作业2-记叙在人生路上对我影响最大的三位老师

热门文章

  1. vc6.0上安装qt插件
  2. android系统电量优化,基于Android系统网络耗电量优化方法的.pdf
  3. spring cloud面试
  4. equals方法变量和常量位置区别
  5. VSCode切换默认终端为cmd
  6. 006_Gson定制型适配器
  7. 小米手环4怎么使用_小米手环4/5 NFC添加加密门禁
  8. phpstudy卸载mysql_PHPstudy卸载和phpstudy卸载详解
  9. Java必刷100题
  10. php编程输出心形图案_利用php输出不同的心形图案,php心形图案_PHP教程