2.IKAnalyzer 中文分词器配置和使用

时间:2022-08-26 20:58:04

一、配置

IKAnalyzer 中文分词器配置,简单,超简单。

IKAnalyzer 中文分词器下载,注意版本问题,貌似出现向下不兼容的问题,solr的客户端界面Logging会提示错误。

给出我配置成功的版本IK Analyzer 2012FF_hf1(包含源码和中文使用手册),我的solr是4.7的,当然相应的Lucene也是4.7的,链接地址:

http://code.google.com/p/ik-analyzer/downloads/detail?name=IK%20Analyzer%202012FF_hf1.zip&can=2&q= 谷歌,不过貌似已经不能下载了,国内封杀了谷歌,tmd真蛋疼。

http://down.51cto.com/data/894638 51CTO上面的,有账号有积分的支持一下吧,我也是从人家那里下载的。

百度网盘,我自己共享的,时间久了就不一定还存在。链接:http://pan.baidu.com/s/1bngYiKZ 密码:g7dp

废话少说,下载后文件夹里至少有IKAnalyzer.cfg.xml、IKAnalyzer2012FF_u1.jar、stopword.dic,只需要配置这三个东西。

把IKAnalyzer2012FF_u1.jar拷贝到Tomcat的安装目录,我的是C:\apache-tomcat-8.0.8\webapps\solr\WEB-INF\lib\,把IKAnalyzer.cfg.xml、stopword.dic拷贝到C:\apache-tomcat-8.0.8\webapps\solr\WEB-INF\classes\,classes目录没有的话自行创建。

现在IKAnalyzer 中文分词器已经配置好了,是不是超简单,不要把目录搞错了就可以了。

二、使用

现在说使用,在你的scheme.xml配置(不清楚什么是scheme.xml,请移步到上一篇博客看看)文件找到<types></types>在中间加入

<!--IKAnalyzer分词器-->

<fieldType name="text_IKFENCHI" class="solr.TextField">

<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>

<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>

</fieldType>

然后在<fields>节点下增加一个节点:

<field name="PRODUCTNAME" type="text_IKFENCHI" indexed="true" stored="true"/>

注意field节点type里面的内容就是上面配置的fieldType,上面当于定义一个类,下面相当于用这个类定义一个变量。

这时你的PRODUCTNAME域就是通过IKAnalyzer分词器分词器进行分词的了。

现在我们来solr客户端界面测试一下分词器。重启一下Tomcat服务,打开http://localhost:8080/solr/#/

2.IKAnalyzer 中文分词器配置和使用

在这里找到我们的core,这里是可以配置多个core的,怎么配置后面再说,其实非常简单。这个core我也不知道叫什么(内核?核心?),但可以打个比方,比如你做电商搜索系统,你可以搜索商品,可以搜索店铺,那么你可以配置两个core,分别对应商品和店铺,这样你可以在不同的core下的配置文件里配置不同的field等,这是我暂时这样理解,有错误帮忙指正一下。这个不理解不要紧,后面我还有一系列的博客会说清楚。

这里默认是有一个叫collection1的,如果你刚才分词器配错了,这里可能就什么都没有了哦,这时可以看一下Logging是不是有错误日志,找到后点击下面的Analysis,在下拉框找到刚才配置的PRODUCTNAME

2.IKAnalyzer 中文分词器配置和使用

其实认真观察的话,会发现这个下拉框里面是有分类的,分成了Fields和Types,这个PRODUCTNAME在Fields节点下,还可以找到text_IKFENCHI在Types下,其实就是对应刚才配置的scheme.xml,选择其中一个都可以进行分词测试,我们可以在Field Value文本框里面输入一段话,点击Anayse Values按钮,就会显示分词结果。

2.IKAnalyzer 中文分词器配置和使用

至于分出的结果是什么意思,可以自行深入研究吧,后面如果我学到了再补充。

2.IKAnalyzer 中文分词器配置和使用的更多相关文章

  1. Solr的学习使用之(三)IKAnalyzer中文分词器的配置

    1.为什么要配置? 1.我们知道要使用Solr进行搜索,肯定要对词语进行分词,但是由于Solr的analysis包并没有带支持中文的包或者对中文的分词效果不好,需要自己添加中文分词器:目前呼声较高的是 ...

  2. solr服务中集成IKAnalyzer中文分词器、集成dataimportHandler插件

    昨天已经在Tomcat容器中成功的部署了solr全文检索引擎系统的服务:今天来分享一下solr服务在海量数据的网站中是如何实现数据的检索. 在solr服务中集成IKAnalyzer中文分词器的步骤: ...

  3. 真分布式SolrCloud&plus;Zookeeper&plus;tomcat搭建、索引Mysql数据库、IK中文分词器配置以及web项目中solr的应用&lpar;1&rpar;

    版权声明:本文为博主原创文章,转载请注明本文地址.http://www.cnblogs.com/o0Iris0o/p/5813856.html 内容介绍: 真分布式SolrCloud+Zookeepe ...

  4. Solr入门之(8)中文分词器配置

    Solr中虽然提供了一个中文分词器,但是效果很差,可以使用IKAnalyzer或Mmseg4j 或其他中文分词器. 一.IKAnalyzer分词器配置: 1.下载IKAnalyzer(IKAnalyz ...

  5. Solr6&period;5&period;0配置中文分词器配置

    准备工作: solr6.5.0安装成功 1.去官网https://github.com/wks/ik-analyzer下载IK分词器 2.Solr集成IK a)将ik-analyzer-solr6.x ...

  6. Es学习第五课, 分词器介绍和中文分词器配置

    上课我们介绍了倒排索引,在里面提到了分词的概念,分词器就是用来分词的. 分词器是ES中专门处理分词的组件,英文为Analyzer,定义为:从一串文本中切分出一个一个的词条,并对每个词条进行标准化.它由 ...

  7. windows 上配置solr5&period;2&period;1&plus;solr4&period;3&plus;中文分词器

    搭建5.2.1 1.下载 Tomcat解压后的目录为 D:\Program Files\Apache Software Foundation\apache-tomcat-8.0.22 solr解压后的 ...

  8. Lucene系列四:Lucene提供的分词器、IKAnalyze中文分词器集成、扩展 IKAnalyzer的停用词和新词

    一.Lucene提供的分词器StandardAnalyzer和SmartChineseAnalyzer 1.新建一个测试Lucene提供的分词器的maven项目LuceneAnalyzer 2. 在p ...

  9. elasticsearch中文分词器ik-analyzer安装

    前面我们介绍了Centos安装elasticsearch 6.4.2 教程,elasticsearch内置的分词器对中文不友好,只会一个字一个字的分,无法形成词语,别急,已经有大拿把中文分词器做好了, ...

随机推荐

  1. 根据键盘调整textField(多个)位置使其不会被键盘挡住

    当一个界面上有个textField时,键盘出现时需要保证textField不会被键盘挡住. 一般的做法是,监听 UIKeyboardWillShowNotification和 UIKeyboardWi ...

  2. 并发用户数与 TPS 之间的关系

    1.  背景 在做性能测试的时候,很多人都用并发用户数来衡量系统的性能,觉得系统能支撑的并发用户数越多,系统的性能就越好:对TPS不是非常理解,也根本不知道它们之间的关系,因此非常有必要进行解释. 2 ...

  3. 2015&period;11&period;16JQuery 隐藏&comma;显示按钮&period;

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. PHP&lowbar;Const

    PHP_Const 常量 规则: 1 总是大写 2 A-Z 及 从127-255的ASCII字符 3 全局范围 4 用define函数定义 5 只能包含标量数据 如Boolean integer fl ...

  5. MapReduce框架Partitioner分区方法

    前言:对于二次排序相信大家也是似懂非懂,我也是一样,对其中的很多方法都不理解诶,所有只有暂时放在一边,当你接触到其他的函数,你知道的越多时你对二次排序的理解也就更深入了,同时建议大家对wordcoun ...

  6. Java 8 lambda初试

    λ表达式本质上是一个匿名方法.让我们来看下面这个例子: public int add(int x, int y) { return x + y; } 转成λ表达式后是这个样子: (int x, int ...

  7. Vue&period;js-09:第九章 - 组件基础再探(data、props)

    一.前言 在上一章的学习中,我们学习了 Vue 中组件的基础知识,知道了什么是组件,以及如何创建一个全局/局部组件.不知道你是否记得,在上一章中,我们提到组件是一个可以复用的 Vue 实例,它与 Vu ...

  8. &lbrack;Swift&rsqb;LeetCode1030&period; 距离顺序排列矩阵单元格 &vert; Matrix Cells in Distance Order

    We are given a matrix with R rows and C columns has cells with integer coordinates (r, c), where 0 & ...

  9. 关于laravel5 消息订阅&sol;发布的理解初

    laravel5.4感觉官网文档说滴不够详细...安装predis官网很详细,这里略过.... 生成命令 直接使用 Artisan 命令 make:command,该命令会在 app/Console/ ...

  10. Mybatis insert时返回自增id

    SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式. 详细看这里:http://www.cnblogs.com/SimonHu1 ...