当前位置: 首页 > news >正文

Elasticsearch分析器(Analyzer)

Elasticsearch分析器(Analyzer)

文章目录

  • Elasticsearch分析器(Analyzer)
    • 分析器概念
    • 内置分析器(8.6版本)
    • 自定义分析器
      • elasticsearch-analysis-ik(简称ik,💕14.8k)
      • elasticsearch-analysis-pinyin(简称pinyin,💕2.6k)
      • elasticsearch-jieba-plugin(简称jieba,💕471)

分析器概念

分词就是将一段文本按照一定的规则切分成以一个一个的关键字的过程

Elasticsearch的分析器(Analyzer)有三个组成部分:

  1. 字符过滤器(character filters)

    在一段文本分词之前,进行预处理,比如过滤html标签等

  2. 分词器(tokenizer)

    接收字符流,将其分解为单个分词,记录每个分词的顺序、位置、开始和结束字符偏移量等

  3. 分词过滤器(token filters)

    接受来自分词器的分词流,并且可以修改分词 (例如小写),删除分词(例如删除停用词) 或添加分词(例如同义词)

内置分析器(8.6版本)

  • 标准分析器

    默认分析器,按Unicode文本分割算法拆分,删除大多数标点符号,小写处理,删除停用词;支持中文,但

    只能按字拆分

  • 简单分析器

    按照非字母切分,小写处理

  • 空白分析器

    遇到空格的时候会进行分词

  • 停止分析器

    按照非字母切分,小写处理,删除停用词

  • 关键词分析器

    不分词,直接将输入当做输出

  • 模式分析器

    按正则表达式分词

  • 语言分析器

    对特定语言分词

  • 指纹分析器

    专业分析器,它创建一个指纹,可用于重复检测

自定义分析器

必须与Elasticsearch版本一致,解压后放到Elasticsearch的plugins文件夹下,重启Elasticsearch服务即可

elasticsearch-analysis-ik(简称ik,💕14.8k)

下载地址

https://github.com/medcl/elasticsearch-analysis-ik/releases

IK提供了两个分词算法:ik_smart和ik_max_word,其中ik_smart为最少切分,ik_max_word为最细粒度划分。

ik_max_word:会将文本做最细粒度的拆分,比如会将"中华人民共和国国歌"拆分为"中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌",会穷尽各种可能的组合;

ik_smart:会做最粗粒度的拆分,比如会将"中华人民共和国国歌"拆分为"中华人民共和国,国歌"。

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

elasticsearch-analysis-pinyin(简称pinyin,💕2.6k)

下载地址:

https://github.com/medcl/elasticsearch-analysis-pinyin/releases

elasticsearch-jieba-plugin(简称jieba,💕471)

下载地址

https://github.com/sing1ee/elasticsearch-jieba-plugin/tags

http://www.lryc.cn/news/28783.html

相关文章:

  • P6入门:了解P6 Professional 工具栏及地图分享
  • 习题30 if elif else 语句
  • 32 openEuler使用LVM管理硬盘-管理卷组
  • Jackson CVE-2017-17485 反序列化漏洞
  • 十大排序(C++版)
  • SpringMVC中的常用注解
  • English Learning - L2-3 英音地道语音语调 小元音 [ʌ] [ɒ] [ʊ] [ɪ] [ə] [e] 2023.02.27 周一
  • fastadmin后台登录页修改
  • Java 面向对象(OOP)的三大特性
  • Java:openjdk: error: Student is abstract; cannot be instantiated;java编译环境
  • 28个案例问题分析---019---临时解决方案和最终解决方案--思想
  • 计算机网络的166个概念你知道几个 第四部分
  • Lenovo 联想-IdeaPad-Y530电脑 Hackintosh 黑苹果efi引导文件
  • mac M1 nvm安装教程,避坑
  • 【项目精选】基于网络爬虫技术的网络新闻分析(视频+论文+源码)
  • 【Python - Matplotlib】P2 plot 折线图
  • 【Verilog】——模块,常量,变量
  • 论文投稿指南——中文核心期刊推荐(电影、电视艺术)
  • Pip install 和Conda install 总结
  • 嵌入式系统实验——【玄武F103开发板】实现两个LED小灯闪烁
  • 数组之双指针题
  • 真实需求和梦想实现满足
  • [ant-design-vue] tree 组件功能使用
  • QT父子窗口事件传递与事件过滤器
  • 【2.4 golang中的循环语句for】
  • Windows 系统下 Apache 和 php 环境怎么搭建?
  • Python基础知识——字符串、字典
  • JVM常用指令
  • 排序中常见的一些指标
  • 51单片机入门————数码管显示