【ElasticSearch入门】3、倒排索引、分词器

本文介绍了ElasticSearch中的倒排索引原理,包括其节省存储空间的优点和字段无法被搜索的缺点。接着详细讲解了分词器的概念,分析过程涉及字符过滤器、分词器和词元过滤器。讨论了ElasticSearch的内置分词器,如Standard Analyzer、Simple Analyzer、Stop Analyzer、Whitespace Analyzer、Keyword Analyzer、Pattern Analyzer以及Language Analyzer,并举例展示了不同分词器的分词效果,特别提到了中文分词的挑战和analysis_ICU插件的使用。
摘要由CSDN通过智能技术生成

【ElasticSearch入门】3、倒排索引、分词器

一、倒排索引

首先大家可以去看看这篇文章,讲的不错!

时间序列数据库的秘密(2)——索引_数据库_陶文_InfoQ精选文章

  • 正排索引-文档 Id 到文档内容和单词的关联
  • 倒排索引-单词到文档 Id 的关系

img

倒排索引表三列:单词,次数,文档ID和位置。

img

  • 倒排索引包含两部分:单词词典(Team Dictionary)和倒排列表(Posting List)
  • 单词词典记录单词到倒排列表的关联关系,一般通过 B+ 树或者哈希链表实现
  • 倒排列表记录单词对应的文档结合,由倒排索引项组成
  • 倒排索引项由文档ID(docId),词频(term frequencies),单词位置(term postion),偏移量(character offsets)组成

img

img

ES 也可以指定对某些字段不做索引

  • 优点:节省存储空间
  • 缺点:字段无法被搜索

二、分词器

2.1 Analysis 与 Analyzer

你只能搜索在索引中出现的词条,所以索引文本和查询字符串必须标准化为相同的格式。分词和标准化的过程称为分析。

Analysis 文本分析是把全文本转换一系列单词(term/token)的过程,也叫分词,Analysis 是通过 Analyzer 来实现的。 Elasticsearch 有多种内置的分析器,如果不满足也可以根据自己的需求定制化分析器,除了在数据写入时转换词条,匹配 Query 语句时候也需要用相同的分析器对查询语句进行分析。

2.2 Analysis 组成部分

Analyzer分为以下组成部分:

  • Character Filters (针对原始文本处理,例如,可以使用字符过滤器将印度阿拉伯数字( )转换为其等效的阿拉伯语-拉丁语(0123456789),去除http前缀)
  • Tokenizer(按照规则切分为单词),将把文本 “Quick brown fox!” 转换成 terms [Quick, brown, fox!],tokenizer 还记录文本单词位置以及偏移量。
  • Token Filter(将切分的的单词进行加工、小写、刪除 stopwords,增加同义词)

img

2.3 es 内置的分词器

img

img

三、分词器demo

standard

  • 默认分词器
  • 按词分类
  • 小写处理
#standard 分词器
GET _analyze
{
  "analyzer": "standard",
  "text": "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone."
}

分词结果

#! Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.13/security-minimal-setup.html to enable security.
{
   
  "tokens" : [
    {
   
      "token" : "the",
      "start_offset" : 0,
      "end_offset" : 3,
      "type" : "<ALPHANUM>",
      
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值