ElasticSearch - 遐想
Posted wessonstar
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElasticSearch - 遐想相关的知识,希望对你有一定的参考价值。
众所周知,ElasticSearch 存在一个问题,无法查询最近 1s 的写入。近实时这个属性,限制了其在某些场景的应用。本文记录了我在日常工作中想到的,解决特定场景的一些方案。既然是记录,便会有好有坏,仅供大家参考。
预设上下文
一个书籍(book)索引(index),文档(doc)属性有:名称(name),出版年份(year),作者(author),价格(price),价格区间(price_range),国家(country)
总体约定
- 1s 盲区问题是 es 的固有缺陷,本文约定,所有的解决方案都引入额外的工具来弥补这个缺陷
存在性查询
场景描述
所有书籍的价格被划分为少数几个区间。希望查询价格为某个区间的文档是否存在。
解决方案
写文档时,维护一个(价格区间,更新时间)辅助表。查询时先查询 es ,然后查询辅助表。如果不存在,则相信 es 结果;如果近 1s 内没有更新,则相信 es 结果;如果近 1s 内存在更新,可以假设存在。
以上是关于ElasticSearch - 遐想的主要内容,如果未能解决你的问题,请参考以下文章
错误 [内部] 为 docker.elastic.co/elasticsearch/elasticsearch:7.12.0 加载元数据