Skip to content

02 倒排索引 ‐ VALUE 的设计

zhan yeye edited this page Feb 17, 2025 · 1 revision

课程视频 倒排索引的value除了可以存储文档id, 还可以存储位运算信息,方便过滤筛选。

image

在 bits 中存储doc的部分属性,遍历倒排索引时,可按bits完成部分筛选功能

用bits 表示离散属性

将多个筛选条件用bit来表示和运算(又小又快)

  • 需要符合 bits & on = on
  • 需要不符合 bits & off = 0

image

https://excalidraw.com/#json=vh6JWrSispRogUhEshzea,KB3nJpHY0nsjQ_Ay4Mu9gQ

离散属性有多个值

  • 不是所有属性都能用一个bit来表示,那就用多个bit来表示呗!
  • 有些离散取值是排斥、包含关系

image

连续属性离散化

image https://excalidraw.com/#json=kPfXIUrtKHvKPrGW2MZ4V,zRUWxUgkY9PMj7EKddUzng

  • 只能做到初步筛选,还需要用doc详情做精确筛选
  • 即使这样也很棒了,已经过滤了很多数据了,因为倒排索引时存储在内存中的,读取遍历的速度非常快,但是文档这种正排索引存储在磁盘中,查找速度非常慢

https://excalidraw.com/#json=I4M8LT-3C89-aveh3i1oV,g-lVe-saL9LjktISyKvaTw

Clone this wiki locally