首页 > 其他分享 >ES 安装IK分析器

ES 安装IK分析器

时间:2022-10-16 12:02:30浏览次数:62  
标签:end CN IK 分析器 start token offset type ES

ES支持以插件形式,热插拔需要的插件。对于中文分词器,我们这边选用IK分词器,下边来看下基于Docker形式怎么安装IK分析器插件

下载IK分析器

IK分词器在github上有大神以开源,直接拉取压缩包就可以了。注意:IK分析器必须要和ES版本保持一致
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases,找到对应的版本即可。

Linux系统下,解压缩

cd es_kibana
mkdir plugin
rz elasticsearch-analysis-ik-7.1.0.zip
sudo unzip elasticsearch-analysis-ik-7.1.0.zip -d ./plugin

修改docker-compose.yml文件,挂载插件目录到容器中

version: "3.8"
volumes:
  data:
  config:
  plugin:
networks:
  es:
services:
  kibana:
    image: kibana:7.1.0
    ports:
      - "5601:5601"
    networks:
      - "es"
    volumes:
      - ./kibana.yml:/usr/share/kibana/config/kibana.yml
  elasticsearch:
    image: elasticsearch:7.1.0
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "discovery.type=single-node"
    volumes:
      - data:/usr/share/elasticsearch/data
      - config:/usr/share/elasticsearch/config
      - ./plugin:/usr/share/elasticsearch/plugins
    ports:
      - "9200:9200"
      - "9500:9300"
    networks:
      - "es"

重启验证

sudo docker compose down
sudo docker compose up -d

## 访问kibana调试
POST /_analyze
{
  "analyzer": "ik_smart",
  "text":"中华人民共和国国歌"
}

## 输出结果
{
  "tokens" : [
    {
      "token" : "中华人民共和国",
      "start_offset" : 0,
      "end_offset" : 7,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "国歌",
      "start_offset" : 7,
      "end_offset" : 9,
      "type" : "CN_WORD",
      "position" : 1
    }
  ]
}


POST /_analyze
{
  "analyzer": "ik_max_word",
  "text":"中华人民共和国国歌"
}


##输出结果
{
  "tokens" : [
    {
      "token" : "中华人民共和国",
      "start_offset" : 0,
      "end_offset" : 7,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "中华人民",
      "start_offset" : 0,
      "end_offset" : 4,
      "type" : "CN_WORD",
      "position" : 1
    },
    {
      "token" : "中华",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "CN_WORD",
      "position" : 2
    },
    {
      "token" : "华人",
      "start_offset" : 1,
      "end_offset" : 3,
      "type" : "CN_WORD",
      "position" : 3
    },
    {
      "token" : "人民共和国",
      "start_offset" : 2,
      "end_offset" : 7,
      "type" : "CN_WORD",
      "position" : 4
    },
    {
      "token" : "人民",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "CN_WORD",
      "position" : 5
    },
    {
      "token" : "共和国",
      "start_offset" : 4,
      "end_offset" : 7,
      "type" : "CN_WORD",
      "position" : 6
    },
    {
      "token" : "共和",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "CN_WORD",
      "position" : 7
    },
    {
      "token" : "国",
      "start_offset" : 6,
      "end_offset" : 7,
      "type" : "CN_CHAR",
      "position" : 8
    },
    {
      "token" : "国歌",
      "start_offset" : 7,
      "end_offset" : 9,
      "type" : "CN_WORD",
      "position" : 9
    }
  ]
}

标签:end,CN,IK,分析器,start,token,offset,type,ES
From: https://www.cnblogs.com/tenic/p/16795904.html

相关文章

  • ES 自定义分析器
    分析器的组成一个分析器由三部分组成:CharacterFilter/Tokenizer/TokenFilerCharacterFilters在Tokenizer之前对文本进行处理,可以配置多个CharacterFilter。ES自带......
  • SpringBoot整合ES查询
    springboot整个es有很多钟方法,比如TransportClient、RestClient、RestHighLevelClient、SpringData-Es、Elasticsearch-SQL等。ElasticSearch官方提供了3个Client,具体......
  • ES大数据量的分页查询
    FROM/SIZE分页查询默认情况下,不加from,size的话,ES会返回前10条记录。加上from,size就会查询指定的条数。其中from代表起始行号,size代表查询行数。如果用JAVA等Client端传参......
  • ES的过滤查询
    ES的查询类型和特性查询(query):默认会计算每个返回文档的得分,然后根据得分排序过滤(filter):筛查出符合条件的文档,并且不计算得分,还可以缓存文档注意:filter过滤查询必须要......
  • ES聚合查询
    Elasticsearch的聚合查询分为四大类,分别是BucketAggregation、MetricAggregation、PipelineAggregation、MatrixAggregration。具体的四大类都是什么意思呢?都是怎么运......
  • ES中的DSL语句操作
    ES中的查询分为URISearch、RequestBodySearch。URISearch-在URL中使用查询参数。RequestBodySearch-使用JSON格式的入参作为查询条件。DSL语句就是基于Reques......
  • ES中的一些基本概念以及和关系数据库对比
    以下总结点为自己思路总结,有不正确地方,请斧正。ES中的基本概念一……索引索引:存放在ES中同一个类型文档的集合叫做ES中的索引,类似于关系数据库中的TableES中的基......
  • kubernetes学习笔记4-pod
    Pod资源定义​自主式pod资源,很少用到,手动创建的资源,用kubectldelete后不会自动创建,而使用pod控制器管理的才会按照用户期望的重新创建;​资源清单:一级字段(apiVersion|kind|m......
  • 绝杀processOn,这款UML画图神器,阿里字节都用疯了,你还不知道?
    大家好,我是陶朱公Boy,又和大家见面了。前言在文章开始前,想先问大家一个问题,大家平时在项目需求评审完后,是直接开始编码了呢?还是会先写详细设计文档,后再开始进行编码开发......
  • Pytest进阶使用
    fixture特点:命令灵活:对于setup,teardown可以省略数据共享:在conftest.py配置里写方法可以实现数据共享,不需要import导入,可以跨文件共享scope的层次及神奇的yield组......