首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    elasticsearch之Roaring Bitmaps的结构

    如果你是刚刚接触搜索引擎,你可能会感到奇怪,构建搜索引擎中存储块的一个很重要的原因是搜索引擎能够有效地压缩和快速解码有序的数字集合。 为什么这个很有用?你可能知道elasticsearch的分片,是基于lucene的索引基础上的,将数据分割成一个个小片段(segment)进行存储的, 然后有规律地将这些小片段进行合并。在每个片段里面,每个文档都会有一个从0到2的31次方减1之间的唯一标识。这种结构像是数组的下标一样: 它存储在任何地方,而且足以标识一个条目。文档有序地存储在片段中,而且doc ID就是文档在存储片段中的索引。所以存储片段中的第一篇文档 的doc ID为0,第二篇为1。直到最后一篇文档,它的doc ID和这个存储片段中所有文档的数量减一是一样的。

    02

    【Redis基础】Redis新数据类型(Bitmaps,HyperLoglog,Geospatial)命令简介与案例演示

    Bitmaps 并不是实际的数据类型,而是定义在String类型上的一个面向字节操作的集合。因为字符串是二进制安全的块,他们的最大长度是512M,最适合设置成2^32个不同字节。 bitmaps的位操作分成两类:1.固定时间的单个位操作,比如把String的某个位设置为1或者0,或者获取某个位上的值 2.对于一组位的操作,对给定的bit范围内,统计设定值为1的数目(比如人口统计)。 bitmaps最大的优势是在存储数据时可以极大的节省空间,比如在一个项目中采用自增长的id来标识用户,就可以仅用512M的内存来记录40亿用户的信息(比如用户是否希望收到新的通知,用1和0标识)

    04
    领券