您当前的位置: 首页 >  搜索

java持续实践

暂无认证

  • 2浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

es 7.x 进阶 文档搜索

java持续实践 发布时间:2022-02-26 18:59:02 ,浏览量:2

文章目录
      • 早期的全文检索
      • 动态更新索引

早期的全文检索

早期的全文检索是把整个文档集合建一个很大的倒排索引写入磁盘, 一旦新的索引就绪, 就的会被替换, 这样就能检索新的数据.

这样做倒排索引写入磁盘后, 就不会变化, 不可变的好处

  1. 不需要锁, 不用担心多线程并发修改
  2. 由于其不变, 可以把数据写入缓存, 并且缓存也不存在一致性问题, 提升性能.
  3. 其他缓存, 在索引的生命周期内始终有效, 不需要每次修改数据时重新建立.
  4. 单个大的倒排索引数据会被压缩, 减少磁盘的I/O, 和需要被缓存到内存的索引使用量.

不可变的坏处: 由于不可变, 不能修改, 只能重新建立一个新的索引. 如果频繁更新数据, 那么性能极差.

动态更新索引

保留不可变的前提下, 实现倒排索引更新? 新的索引使用补充索引, 老的索引不动.

查询的时候 , 按段查询, 每一段是一个倒排索引.

由于不可变性, 删除某个文档时, 只是加标记, 而不是物理删除. 当有多个倒排索引合并的时候, 会把真正需要删除的数据进行删除.

关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.0450s