Elasticsearch原理(二):索引存储方式

本文深入探讨了Elasticsearch基于Apache Lucene的索引存储方式,包括倒排索引、DocValues和Store。介绍了倒排索引的工作原理、DocValues在排序和聚合中的作用,以及Store对Document完整信息的存储。同时,阐述了Elasticsearch在分布式、文档唯一性、版本控制和实时更新方面的改进。
摘要由CSDN通过智能技术生成

Elasticsearch是一个建立在全文搜索引擎库Apache Lucene 基础上的分布式搜索引擎,Lucene最早的版本是2000年发布的,距今已经18年,是当今最先进,最高效的全功能开源搜索引擎框架。

Lucene

Lucene中包含了四种基本数据类型,分别是:

  • Index:索引,由很多的Document组成。
  • Document:由很多的Field组成,是Index和Search的最小单位。
  • Field:由很多的term组成,包括field_name和field_value。
  • Term:由很多的字节组成,可以分词,分词之后每个词即为一个term。term是索引的最小单元。

上述四种类型在Elasticsearch中同样存在,意思也一样。

Lucene中存储的索引主要分为三种类型:

  • Invert Index,即倒排索引。通过term可以快速查找到包含该term的doc_id。如果Field配置分词,则分词后的每个term都会进入倒排索引,如果Field不指定分词,那该Field的value值则会作为一个term进入倒排。(这里需要注意的是term的长度是有限制的,如果对一个Field不采取分词,那么不建议该Field存储过长的值。关于term超长处理)
  • DocValues,即正排索引。采用的是类似数据库的列式存储。对于一些特殊需求的字段可以选择这种索引方式。
  • Store,即原文。存储整个完整Document的原始信息。

下面详细介绍三种类型

Invert Index

倒排索引是lucene的核心索引类型ÿ

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值