ElasticSearch倒排索引、分词的详解和使用建议

本文详细介绍了ElasticSearch中的倒排索引,包括其查询过程、组成、好处以及分词原理。倒排索引通过单词词典和倒排列表构建,能快速定位文档。分词过程涉及Character Filters、Tokenizer和Token Filters,ElasticSearch预设了多种分词器。同时,文章还给出了自定义分词和使用ElasticSearch的建议。
摘要由CSDN通过智能技术生成

一、倒排索引(Inverted Index)


ElasticSearch引擎把文档数据写入到倒排索引(Inverted Index)的数据结构中,倒排索引建立的是分词(Term)和文档(Document)之间的映射关系,在倒排索引中,数据是面向词(Term)而不是面向文档的。

一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,有一个包含它的文档列表。


举个例子:
对以下三个文档去除停用词后构造倒排索引

倒排索引-查询过程

对上面图片中查询包含“搜索引擎”的文档,通过倒排索引获得“搜索引擎”对应的文档id列表,有1、3。

通过正排索引查询1和3的完整内容,返回最终结果。


倒排索引-组成

  • 单词词典(Term Dictionary)
  • 倒排列表(Posting List)

单词词典(Term Dictionary)


单词词典的实现一般用B+树,B+树构造的可视化过程网址:

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰克说

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值