Elasticsearch 入门到精通-Ansj分词器的安装和使用

一、版本和对应关系

pluginelasticsearch
7.6.27.6.2
7.7.07.7.0
7.7.17.7.1
7.8.07.8.0
7.8.17.8.1
7.9.07.9.0
7.9.17.9.1
7.9.27.9.2
7.9.37.9.3

二、安装步骤


1、下载安装ES对应Plugin Release版本


        a. GitHub - NLPchina/elasticsearch-analysis-ansj

        b. 解压 elasticsearch-analysis-ansj-7.7.1-release.zip 到 plugins 目录下

        c.将 ansj.cfg.xml 拷贝到 es 对应的 config 目录下

        d.在es config 同级目录创建 library目录用于放置分词数据,将词库信息放入该目录

自定义词库(default.dic),停词词库(stop.dic),歧义词词库(ambiguity.dic),同义词词库(synonyms.dic)

2、重启Elasticsearch

三、分词方式

1、分词方式解析

base_ansj

基本分词
index_ansj索引分词,拆分的最细
query_ansj查询分词
dic_ansj用户自定义分词
nlp_ansj自然语言分词

2、样例

POST _analyze
{
  "text": ["美国阿拉斯加州发生8.0级地震"],
  "analyzer": "index_ansj"
}

结果

{
  "tokens" : [
    {
      "token" : "美国",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "ns",
      "position" : 0
    },
    {
      "token" : "美",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "b",
      "position" : 1
    },
    {
      "token" : "国",
      "start_offset" : 1,
      "end_offset" : 2,
      "type" : "n",
      "position" : 2
    },
    {
      "token" : "阿拉斯加州",
      "start_offset" : 2,
      "end_offset" : 7,
      "type" : "nsf",
      "position" : 3
    },
    {
      "token" : "阿拉斯加",
      "start_offset" : 2,
      "end_offset" : 6,
      "type" : "nsf",
      "position" : 4
    },
    {
      "token" : "阿拉斯",
      "start_offset" : 2,
      "end_offset" : 5,
      "type" : "nsf",
      "position" : 5
    },
    {
      "token" : "阿拉",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "r",
      "position" : 6
    },
    {
      "token" : "阿",
      "start_offset" : 2,
      "end_offset" : 3,
      "type" : "b",
      "position" : 7
    },
    {
      "token" : "拉斯",
      "start_offset" : 3,
      "end_offset" : 5,
      "type" : "nrf",
      "position" : 8
    },
    {
      "token" : "拉",
      "start_offset" : 3,
      "end_offset" : 4,
      "type" : "v",
      "position" : 9
    },
    {
      "token" : "斯",
      "start_offset" : 4,
      "end_offset" : 5,
      "type" : "b",
      "position" : 10
    },
    {
      "token" : "加州",
      "start_offset" : 5,
      "end_offset" : 7,
      "type" : "ns",
      "position" : 11
    },
    {
      "token" : "加",
      "start_offset" : 5,
      "end_offset" : 6,
      "type" : "v",
      "position" : 12
    },
    {
      "token" : "州",
      "start_offset" : 6,
      "end_offset" : 7,
      "type" : "n",
      "position" : 13
    },
    {
      "token" : "发生",
      "start_offset" : 7,
      "end_offset" : 9,
      "type" : "v",
      "position" : 14
    },
    {
      "token" : "发",
      "start_offset" : 7,
      "end_offset" : 8,
      "type" : "v",
      "position" : 15
    },
    {
      "token" : "生",
      "start_offset" : 8,
      "end_offset" : 9,
      "type" : "v",
      "position" : 16
    },
    {
      "token" : "8.0级",
      "start_offset" : 9,
      "end_offset" : 13,
      "type" : "mq",
      "position" : 17
    },
    {
      "token" : "0",
      "start_offset" : 11,
      "end_offset" : 12,
      "type" : "w",
      "position" : 18
    },
    {
      "token" : "级",
      "start_offset" : 12,
      "end_offset" : 13,
      "type" : "q",
      "position" : 19
    },
    {
      "token" : "地震",
      "start_offset" : 13,
      "end_offset" : 15,
      "type" : "n",
      "position" : 20
    },
    {
      "token" : "地",
      "start_offset" : 13,
      "end_offset" : 14,
      "type" : "ude2",
      "position" : 21
    },
    {
      "token" : "震",
      "start_offset" : 14,
      "end_offset" : 15,
      "type" : "vi",
      "position" : 22
    }
  ]
}

四、ansj暴露的api整理

请求链接描述
/_cat/ansj执行分词
/_cat/ansj/config显示全部配置
/_ansj/flush/config刷新全部配置
/_ansj/flush/config/single执行刷新配置
/_ansj/flush/dic更新全部词典
/_ansj/flush/dic/single执行更新词典

 http://127.0.0.1:9200/_ansj/flush/dic/single?key=dic

/_cat/ansj 执行分词

例子:/_cat/ansj?text=中国&type=index_ansj&dic=dic&stop=stop&ambiguity=ambiguity&synonyms=synonyms

其中text和type是必须传的:text为需要进行分词的语句,type是分词类型,支持如下

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
elasticsearch是一个基于Lucene搜索引擎构建的开源分布式搜索和分析引擎。它被广泛用于构建实时搜索、日志分析、文档存储和大数据分析等应用。 要从入门精通elasticsearch,你可以按照以下步骤进行学习: 1. 安装与配置:首先,你需要下载并安装elasticsearch。然后,你可以根据你的需求进行配置,如设置集群和节点、调整内存和磁盘限制等。 2. 索引与搜索:学习如何创建索引,将数据添加到elasticsearch中。你可以使用REST API或一些客户端库来进行索引和搜索操作。了解如何构建查询语句、使用过滤器、排序和分页等功能。 3. 映射与分析:深入了解elasticsearch的映射和分析功能。映射定义了索引中的字段类型和属性,而分析则负责对文本进行分词、处理和转换。学习如何创建自定义映射和分析器,以满足你的特定需求。 4. 聚合与分析:掌握elasticsearch的聚合功能,用于对索引中的数据进行统计、分组和计算。了解各种聚合类型,如词项聚合、范围聚合、日期直方图等,并学会使用聚合管道进行复杂的数据分析。 5. 高级特性:深入研究elasticsearch的一些高级特性,如倒排索引、分片和副本、分布式搜索、近实时搜索等。了解如何处理大规模数据集和高并发请求,以及如何优化性能和可靠性。 6. 监控与管理:学习如何监控elasticsearch集群的状态和性能,并进行适当的管理和维护工作。了解如何配置和使用监控工具,如Elasticsearch集群监控插件、Kibana等。 7. 故障排除与优化:掌握常见的elasticsearch故障排除技巧,如日志分析、错误处理和调优。学习如何识别和解决性能问题,如慢查询、内存溢出、磁盘使用过高等。 8. 生态系统与扩展:了解elasticsearch的生态系统,并探索一些常用的扩展工具和库,如Logstash、Kibana、Beats等。学习如何与其他技术栈集成,如使用elasticsearch作为后端存储的应用程序等。 以上是elasticsearch入门精通的大致路径,你可以根据自己的兴趣和需求进行深入学习和实践。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值