IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Elasticsearch Analyzer(分词器介绍) -> 正文阅读

[大数据]Elasticsearch Analyzer(分词器介绍)

前言

Analysis:文本分析是把全文本转换成一系列单词(term/token)的过程,也叫分词。Analysis 是通过 Analyzer 来实现的,可以使用 ES 内置的分析器,也可使用定制的分析器。在写入数据和查询数据的时候,都需要用相同的分析器对语句进行分析。

Analyzer

Analyzer 分词器是专门处理分词的组件,由三部分组成:Character Filters(处理原始文本,例如去除html、特殊字符)、Tokenizer(按照规则切分为单词)、Token Filters(将切分的单词加工,小写、删除 stopwords(停用词),增加同义词)。

1
2
3
Character Filters
Tokenizer
Token Filters

使用 _analyzer API,直接指定分词器进行测试

PUT products
{
  "mappings": {
    "properties": {
      "company": {
        "type": "text",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      },
      "comment": {
        "type": "text",
        "fields": {
          "english_comment": {
            "type": "text",
            "analyzer": "english",
            "search_analyzer": "english"
          }
        }
      }
    }
  }
}

ES 里面的内置分词器见下表:

Standard Analyzer默认分词器,按词切分,小写处理
Simple Analyzer按照非字母切分(符号被过滤),小写处理
Stop Analyzer小写处理,停用词过滤(the, a, is)
Whitespace Analyzer按照空格切分,不转小写
Keyword Analyzer不分词,直接将输入当作输出
Patter Analyzer正则表达式,默认\W+(非字符分隔)
Language提供了30多种常见语言的分词器
Customer Analyzer自定义分词器
  1. Standard Analyzer:默认分词器–>按词切分–>小写处理
    在这里插入图片描述

  2. Simple Analyzer:按照非字母切分,非字母的都被去除–>小写处理
    在这里插入图片描述

  3. Whitespace Analyzer:按照空格切分
    在这里插入图片描述

  4. Stop Analyzer:按照非字母切分,非字母的去除–>小写处理–>去除停用词(the,a,is 等修饰性词去掉)
    在这里插入图片描述

  5. Keyword Analyzer:不分词,直接将输入当输出
    在这里插入图片描述

  6. Pattern Analyzer:通过正则表达式进行分词,默认是\W+,非字符的符号进行分隔–>小写处理–>去除停用词
    在这里插入图片描述

  7. Language Analyzer:多种语言分词器

  8. Customer Analyzer:例如 ICU-Analyzer 提供了 Unicode 支持,更好的支持亚洲语言,使用时需要自行安装插件。使用命令Elasticsearch-plugin install analysis-icu进行安装,安装成功后可以指定为自定义分词器

    POST _analyze
    {
    	"analyzer":"icu_analyzer",
    	"text":"他说的确实在理"
    }
    

在这里插入图片描述

更多中文分词器

  • IK:支持自定义词库,支持热更新分词字典,gitHub 地址
  • THULAC:清华大学自然语言处理和社会人文计算实验室的中文分词器,gitHub 地址

总结

中文分词的分词器相比于其它分词器的难点在于,中文句子要切分成一个个词,而不是一个个字。英文中单词有自然的空格作为分隔,而中文是没有的。一句中文,在不同的上下文,有着不同的含义。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:42:40  更:2021-07-31 16:45:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/22 23:33:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码