ElasticSearch - 遐想
程序员文章站
2022-06-22 15:28:01
众所周知,ElasticSearch 存在一个问题,无法查询最近 1s 的写入。近实时这个属性,限制了其在某些场景的应用。本文记录了我在日常工作中想到的,解决特定场景的一些方案。既然是记录,便会有好有坏,仅供大家参考。 预设上下文 一个书籍(book)索引(index),文档(doc)属性有:名称( ......
众所周知,elasticsearch 存在一个问题,无法查询最近 1s 的写入。近实时这个属性,限制了其在某些场景的应用。本文记录了我在日常工作中想到的,解决特定场景的一些方案。既然是记录,便会有好有坏,仅供大家参考。
预设上下文
一个书籍(book)索引(index),文档(doc)属性有:名称(name),出版年份(year),作者(author),价格(price),价格区间(price_range),国家(country)
总体约定
- 1s 盲区问题是 es 的固有缺陷,本文约定,所有的解决方案都引入额外的工具来弥补这个缺陷
存在性查询
场景描述
所有书籍的价格被划分为少数几个区间。希望查询价格为某个区间的文档是否存在。
解决方案
写文档时,维护一个(价格区间,更新时间)辅助表。查询时先查询 es ,然后查询辅助表。如果不存在,则相信 es 结果;如果近 1s 内没有更新,则相信 es 结果;如果近 1s 内存在更新,可以假设存在。
上一篇: 铁乐学Python_day12_作业
推荐阅读
-
Hbase、elasticsearch整合中jar包冲突的问题解决
-
elasticsearch插件开发教程
-
用python简单实现mysql数据同步到ElasticSearch的教程
-
python批量导入数据进Elasticsearch的实例
-
Elasticsearch索引增量统计及定时邮件实现
-
Elasticsearch实战 | 必要的时候,还得空间换时间!
-
干货 |《从Lucene到Elasticsearch全文检索实战》拆解实践
-
SpringBoot整合Elasticsearch7.2.0的实现方法
-
安装ElasticSearch搜索工具并配置Python驱动的方法
-
Elasticsearch.Net使用入门教程(1)