ikanalyzer

Lucene使用IKAnalyzer中文分词笔记

蓝咒 提交于 2019-11-29 13:47:22
本文主要讲解 IKAnalyzer (以下简称‘ IK ’)在 Lucene 中的具体使用,关于 Lucene 和 IK 分词器的背景及其作用在这里就不再熬述。不得不感叹下 Lucene 版本变更的快速,如今最新已经到了 4.9.0 ,相信任何技术的发展壮大都不可避免有这一过程。本文使用的是 Lucene4.0 , IKAnalyzer 使用的是 2012FF 版。 Lucene 下载请移步官网 , IK 下载地址如下 : http://code.google.com/p/ik-analyzer/downloads/list IK 下载完成够拷贝至项目中,目录结构如下图所示 : 可以看到 src 目录下有三个配置文件,分别为扩展字典文件 ext.dic ,停止词字典文件 stopwprd.dic 和配置文件 IKAnalyzer.cfg.xml 。配置文件 IKAnalyzer.cfg.xml 为配置扩展字典文件和停止词字典文件路径。 IKAnalyzer.cfg.xml 文件默认放置在 classpath 的根目录下,可以修改源码来改变该文件位置。 在程序中使用 IK 很简单,只需要创建 IKAnalyzer 对象即可,因为 IKAnalyzer 继承于 Lucene 的 Analyzer 。 IK 无参构造函数默认采用细粒度切分算法, Analyzer analyzer =

搜索引擎(Solr-模式详解)

核能气质少年 提交于 2019-11-28 21:47:56
Schema介绍 Schema 是什么? 问题1:在lucene中我们要对文档字段进行索引存储,需要如何做? 问题2:现在我们使用Solr搜索服务平台了,不需要编码了,还需要定义如何索引存储字段吗? 需要一种机制来定义、存储这些字段的索引信息,让solr运行时知道各个内核/集合的字段定义信息,这就是schema。 Schema:模式,是集合/内核中字段的定义,让solr知道集合/内核包含哪些字段、字段的数据类型、字段该索引存储。 Schema 的定义方式 Solr中提供了两种方式来配置schema,两者只能选其一 1.默认方式,通过Schema API 来实时配置,模式信息存储在 内核目录的conf/managed-schema文件中。 2.传统的手工编辑conf/schema.xml的方式,编辑完后需重载集合/内核才会生效。 Schema两种配置方式切换 schema.xml 到 managed schema 只需将 solrconfig.xml中的<schemaFactory class =“ClassicIndexSchemaFactory”/> 去掉,或改为ManagedIndexSchemaFactory Solr重启时,它发现存储schema.xml 但不存储在 managed-schema,它会备份schema.xml,然后改写schema.xml 为 managed

IKAnalyzer中文分词器

不想你离开。 提交于 2019-11-28 14:45:06
1. IKAnalyzer3.0介绍 IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出了3个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文本分析算法的中文分词组件。新版本的IKAnalyzer3.0则发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。 1.1 IKAnalyzer3.0特性 采用了特有的“正向迭代最细粒度切分算法“,具有50万字/秒的高速处理能力。 采用了多子处理器分析模式,支持:英文字母(IP地址、Email、URL)、数字(日期,常用中文数量词,罗马数字,科学计数法),中文词汇(姓名、地名处理)等分词处理。 优化的词典存储,更小的内存占用。支持用户词典扩展定义 针对Lucene全文检索优化的查询分析器IKQueryParser(作者吐血推荐);采用歧义分析算法优化查询关键字的搜索排列组合,能极大的提高Lucene检索的命中率。 1.2 分词效果示例 文本原文1: IK-Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出了3个大版本。分词结果: ik-analyzer|是|一个|一|个|开源|的|基于|java

lucene4.0与IKAnalyzer2012_u6的冲突

这一生的挚爱 提交于 2019-11-28 14:44:55
在网上下载了lucene当前最新版本4.0,以及IKAnalyzer中文分词器的完整发布包。 一起运行之后发现异常: java.lang.VerifyError: class org.wltea.analyzer.lucene.IKAnalyzer overrides final method tokenStream.(Ljava/lang/String;Ljava/io/Reader;)Lorg/apache/lucene/analysis/TokenStream; at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$000(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader

自定义中文全文索引

旧街凉风 提交于 2019-11-28 05:32:22
自定义中文全文索引 一、中文分词插件 1、分词组件的调整 2、分词测试 二、样例数据准备 三、通过中文全文分词组件创建节点索引 四、中文分词索引查询 五、总结 一、中文分词插件 NEO4J中文全文索引,分词组件使用IKAnalyzer。为了支持高版本LUCENE,IKAnalyzer需要做一些调整。 IKAnalyzer-3.0 旧版本实现参考 ELASTICSEARCH-IKAnlyzer 高版本实现参考 1、分词组件的调整 调整之后的分词组件 casia.isiteam.zdr.wltea // 调整之后的实现 public final class IKAnalyzer extends Analyzer { // 默认细粒度切分 true-智能切分 false-细粒度切分 private Configuration configuration = new Configuration(false); /** * IK分词器Lucene Analyzer接口实现类 * <p> * 默认细粒度切分算法 */ public IKAnalyzer() { } /** * IK分词器Lucene Analyzer接口实现类 * * @param configuration IK配置 */ public IKAnalyzer(Configuration configuration) {

solr配置IKAnalyzer中文分词器

落爺英雄遲暮 提交于 2019-11-27 12:39:14
环境: solr:solr-4.10.3 链接:https://pan.baidu.com/s/1Xf5PC_YnfETMSCJM-no9Ug 提取码:syxb 分词器:IKAnalyzer 链接:https://pan.baidu.com/s/1QuKRezZxEmYhypDtj3oqeQ 提取码:utic 配置中文分析器 使用IKAnalyzer中文分析器 1.把IKAnalyzer2012FF_u1.jar添加到solr/WEB-INF/lib目录下。 第二步:复制IKAnalyzer的配置文件和自定义词典和停用词词典到solr的classpath下。 第三步:在schema.xml中添加一个自定义的fieldType,使用中文分析器。 第五步:重启tomcat 来源: https://blog.csdn.net/qq_43510714/article/details/99674511

Lucene的中文分词器IKAnalyzer

僤鯓⒐⒋嵵緔 提交于 2019-11-27 09:43:23
分词器对英文的支持是非常好的。 一般分词经过的流程: 1)切分关键词 2)去除停用词 3)把英文单词转为小写 但是老外写的分词器对中文分词一般都是单字分词,分词的效果不好。 国人林良益写的IK Analyzer应该是最好的Lucene中文分词器之一,而且随着Lucene的版本更新而不断更新,目前已更新到IK Analyzer 2012版本。 IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。到现在,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。在2012版本中,IK实现了简单的分词歧义排除算法,标志着IK分词器从单纯的词典分词向模拟语义分词衍化。 在系统环境:Core2 i7 3.4G双核,4G内存,window 7 64位, Sun JDK 1.6_29 64位 普通pc环境测试,IK2012具有160万字/秒(3000KB/S)的高速处理能力。 特别的,在2012版本,词典支持中文,英文,数字混合词语。 IK Analyzer 2012版本的分词效果示例: IK Analyzer2012版本支持 细粒度切分 和 智能切分。 我们看两个演示样例: 1)文本原文1: IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版本开始