elasticsearch学习笔记(三)

elasticsearch核心概念

一、elasticsearch是基于Lucene开发的

Lucene是一个成熟的全文检索库,由Java语言编写,具有高性能、可伸缩的特点,并且开源、免费。

二、全文检索

索引系统通过扫描文章中的每一个词,对其创建索引,指明在文章中出现的次数和位置,当用户查询时,索引系统过就会根据事先简历的索引进行查找,并将查找的结果反馈给用户的检索方式

三、倒排索引

在这里插入图片描述

四、倒排索引的数据结构

在这里插入图片描述

五、倒排索引的倒排表压缩算法一:FOR-Frame Of Reference

将后一个数字与前一个数值做差,然后归类用适合的数据长度保存details list
在这里插入图片描述

六、倒排索引的倒排表压缩算法二:RBM-RoaringBitmap

除以65536 取商与余数。
由于商和余数均不会大于65536,所以可以用short类型(2Byte:16bit)来存储商和余数。
商由一个short[]存储作为key;余数作为Container
在这里插入图片描述

Container主要分为三类

1、ArrayContainer:使用Short[]类型来存储,Container每包含一个元素,大小都增加2Byte,最大为65536个元素,占用空间65536*2Byte=128kb
在这里插入图片描述

2、BitMapContainer:基于位图,固定一个包含有65536个bit的bitmap,其中每一位都表示0~65535的独立的数字,当对应位上有值时,则标记为1。这样一个bitmap长度固定为65536bit=8kb
在这里插入图片描述
3、RunContainer:标记一段连续的数据的首位数据,需要数据有规则的连续。
1,2,3…100W个 →[1,100W]
400WByte → 8Byte

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值