弹性搜索API最终是一致的,有利于查询响应时间 . 只要可以确定与其一致的日期,最终的一致性就不是问题 .
-
任何elasticsearch搜索(API)结果都可以返回与其一致的时间吗?要么
-
有没有办法让elasticsearch搜索(API)结果包含与之一致的时间?要么
-
是否有可能在搜索查询时提供一个日期,而API可能会回复“对提供的日期不一致”或与该日期一致的结果?
最终期望的功能是能够为每个批量更新/索引步骤提供(可能是功能性的)日期并使搜索查询处理它 . 如果不可能,真正的技术更新/索引日期就足够了 .
是否有可能知道所有节点之间的给定更新/同步何时结束?
在阅读this之后,我在评估针对工业项目的弹性搜索的过程中向我提出了这个问题 .
1 回答
哦,那是很多问题)
首先,如果您面临一致性要求/问题,则需要切换到一致的数据存储 . ES非常棒,但有时候必须保持一致性 .
谈论"time since last sync" / "time consistent with" . 据我所知,到目前为止,还有synced flush机器,可以通过
/_stats?level=shards
检查"inactive"指数的状态 . 不确定它是否适合您的用例 .如果需要一致状态,可以执行的操作是使用wait_for_active_shards=all索引数据,将索引从AP转换为CP模式,或者[偶尔]仅使用
_search?preference=_primary
从主分片读取数据,以使索引类型为CA