前言

这是一个elasticsearch的中文分词插件,基于Ansj中文分词。发起者Onni大神。

2.3.1插件安装

进入Elasticsearch目录运行如下命令

进入es目录执行如下命令

./bin/plugin install http://maven.nlpcn.org/org/ansj/elasticsearch-analysis-ansj/2.3.1/elasticsearch-analysis-ansj-2.3.1-release.zip

更新内容

elasticsearch更新2.3.1

ansj_seg升级至3.7.3

elasticsearch更新2.1.1

ansj_seg升级至3.5

新增http的_ansj接口,用于查看ansj分词词性

新增http的_cat/ansj接口,作用同上,显示为cat方式

新增http的_cat/[index]/analyze接口,和_analyze作用一样,显示为cat方式

更方便的配置

测试

创建测试索引

curl -XPUT 127.0.0.1:9200/test -d '{"settings" : {"number_of_shards" : 1,"number_of_replicas" : 0},"mappings" : {"type1" : {"_all" : { "enabled" : false },"properties" : {"name" : { "type" : "string", "analyzer" : "index_ansj", "search_analyzer" : "query_ansj" }}}}
}'

添加索引内容

curl -XPUT 'http://127.0.0.1:9200/test/test/1' -d '{"name" : "中国人民万岁","post_date" : "2009-11-15T14:12:12","message" : "trying out Elasticsearch"
}'

查询索引

浏览器访问:

http://127.0.0.1:9200/test/test/_search?q=name:%E4%B8%AD%E5%9B%BD

如果你想把ansj作为你的默认分词需要在elasticsearch.yml加入如下配置:

#默认分词器,索引 index.analysis.analyzer.default.type: index_ansj #默认分词器,查询 index.analysis.analyzer.default_search.type: query_ansj

关于分词器不得不说的那点小事

目前默认内置三个分词器

当然如果你有心仔细观察日志看到了实例化了n多分词器如下

 regedit analyzer named : index_ansjregedit analyzer named : query_ansjregedit analyzer named : to_ansjregedit analyzer named : dic_ansjregedit analyzer named : user_ansjregedit analyzer named : search_ansjwhy????

额 只有三个其他都是别名
索引分词

index_ansj 是索引分词,尽可能分词处所有结果 example

http://127.0.0.1:9200/_cat/test/analyze?text=%E5%85%AD%E5%91%B3%E5%9C%B0%E9%BB%84%E4%B8%B8%E8%BD%AF%E8%83%B6%E5%9B%8A&analyzer=index_ansj六味          0       2       0       word
地         2       3       1       word
黄丸软       3       6       2       word
胶囊          6       8       3       word
六味地黄        0       4       4       word
地黄          2       4       5       word
地黄丸       2       5       6       word
软胶          5       7       7       word
软胶囊       5       8       8       word
搜索分词 (search_ansj=to_ansj=query_ansj)

query_ansj 是搜索分词,是索引分词的子集,保证了准确率 example

http://127.0.0.1:9200/_cat/test/analyze?text=%E5%85%AD%E5%91%B3%E5%9C%B0%E9%BB%84%E4%B8%B8%E8%BD%AF%E8%83%B6%E5%9B%8A&analyzer=query_ansj六味      0       2       0       word
地             2       3       1       word
黄丸软       3       6       2       word
胶囊      6       8       3       word

用户自定义词典优先的分词方式 (user_ansj=dic_ansj)

dic_ansj 是用户自定义词典优先策略

http://127.0.0.1:9200/_cat/test/analyze?text=%E5%85%AD%E5%91%B3%E5%9C%B0%E9%BB%84%E4%B8%B8%E8%BD%AF%E8%83%B6%E5%9B%8A&analyzer=dic_ansj六味地黄        0       4       0       word
丸         4       5       1       word
软胶囊       5       8       2       word

====================================分割线================================
文章转载自 开源中国社区[http://www.oschina.net]

基于 Ansj 的 elasticsearch 2.3.1 中文分词插件相关推荐

  1. 基于 HanLP 的 ES 中文分词插件

    一.分词插件 1.分词器概念 在 ES 中,分词器的作用是从文本中提取出若干词元(token)来支持索引的存储和搜索,分词器(Analyzer)由一个分解器(Tokenizer).零个或多个词元过滤器 ...

  2. Elasticsearch学习笔记(三)安装hanlp中文分词插件及同义词配置

    目录 hanlp分词插件 插件安装 在线安装 离线安装 安装数据包 同义词配置 hanlp分词插件 HanLP是一款免费开源(Apache License 2.0协议)中文语义分词工具,它提供中文分词 ...

  3. Elasticsearch 多语言及中文分词与检索详解

    文章目录 1. 自然语言与查询 Recall 2. 混合多语言的挑战 3. 分词的挑战 4. 中文分词方法的演变 - 字典法 5. 中文分词方法的演变 - 基于统计法的机器学习算法 6. 中文分词器现 ...

  4. Jcseg是基于mmseg算法的一个轻量级Java中文分词器

    Jcseg是基于mmseg算法的一个轻量级中文分词器,同时集成了关键字提取,关键短语提取,关键句子提取和文章自动摘要等功能,并且提供了一个基于Jetty的web服务器,方便各大语言直接http调用,同 ...

  5. 基于Hmm模型和Viterbi算法的中文分词和词性标注

    使用 python 实现基于Hmm模型和Viterbi算法的中文分词及词性标注:使用 最大概率算法 进行优化.最终效果:人民日报语料:分词(F1:96.189%):词性标注(F1:97.934%) 完 ...

  6. elasticsearch5安装和elasticsearch-analysis-ik中文分词插件安装

    ElasticSearch简介 Elastic有一条完整的产品线及解决方案:Elasticsearch.Kibana.Logstash等,前面说的三个就是大家常说的ELK技术栈. Elasticsea ...

  7. elasticsearch6.2.2安装中文分词插件IK analyzer

    elasticsearch6.2.2安装中文分词插件IK analyzer 哎,装了一下午的ik终于装上了,发现自己真的是非常笨了,并且es重启过程中遇到了很多的问题,下面我将手把手教大家如何安装ik ...

  8. Elasticsearch07:ES中文分词插件(es-ik)安装部署

    一.ES中文分词插件(es-ik) 在中文数据检索场景中,为了提供更好的检索效果,需要在ES中集成中文分词器,因为ES默认是按照英文的分词规则进行分词的,基本上可以认为是单字分词,对中文分词效果不理想 ...

  9. elasticsearch倒排索引原理与中文分词器

    1. 索引的方式: 1.1 正向索引 正排表是以文档的ID为关键字,表中记录文档中每个字的位置信息,查找时扫描表中每个文档中字的信息直到找出所有包含查询关键字的文档. 这种组织方法在建立索引的时候结构 ...

最新文章

  1. element elcolumn 使用本地图片_年末了,教你如何使用Python实现上班摸鱼
  2. Java中的断言(assert)
  3. java 打印一棵树_java编程题之从上往下打印出二叉树
  4. rpm安装mysql5.5_CentOS下以RPM方式安装MySQL5.5
  5. mysql中外键总结_mysql外键的一些总结
  6. BZOJ:1816 [Cqoi2010]扑克牌 (贪心或二分答案)
  7. C语言入门练习题-题目+答案
  8. CT一般扫描参数_工业CT检测服务
  9. MindManager22直装版思维导图新功能
  10. 地震应急综合解决方案
  11. 按摩店用的收银系统多少钱一套
  12. 一、初识GVR ---- Android VR视频/Google VR for Android /VR Pano/VR Video
  13. 【Java百炼成神】双生武魂——HashMap、LinkedHashMap、Hashtable
  14. 1077 Kuchiguse
  15. 题解报告——聪聪与可可
  16. P_sensor 距离感应器 阈值如何设置
  17. 管中窥豹——应试教育与一流科学人才究竟有多远的差距
  18. 2021-08-20【JVM系列-2】 GC垃圾回收
  19. JSR303参数校验(2)
  20. 野火霸道STM32开发板点亮LED灯课后作业

热门文章

  1. GET和POST有什么区别?及为什么网上的多数答案都是错的。
  2. Ubuntu8.10下修复FC7系统的home分区
  3. SQL Server自带备份整个数据库脚本工具
  4. MySQL Index Condition Pushdown 原理与解析
  5. bzoj3545 Peaks
  6. MEF加入中国SDN/NFV产业联盟
  7. redis教程(五)之redis数据类型
  8. itoa()函数和atoi()函数详解
  9. jqueryui autocomplete 控件自定义source检索
  10. Spring bean 之 FactoryBean