索引操作后的查询ElasticSearch

jecbmhm3  于 2022-11-02  发布在  ElasticSearch
关注(0)|答案(1)|浏览(123)

我有一个执行一些文本处理的eservice A。在它之后,服务B必须在文档上执行一些Elasticsearch查询。服务之间的连接由Kafka提供。该解决方案与ES自由文本搜索功能紧密耦合,因此我不能以其他方式进行查询。
可能的解决方案:将文档存储在ES中并查询它。问题是ES最终是一致的,我不知道文档是否已经索引。是否有一些API来确保文档已经索引?
另一个选择是从服务A发布一个消息,延迟X+5秒,其中X是索引的刷新间隔,文档应该存储在索引中。在我看来,这是一个不可靠的解决方案。你怎么看
我考虑的另一个方向是,用ES查询来查询内存中的文档。例如,如果我有一些神奇的方法来将ES查询转换为Luciene DSL,那么我就不需要处理Elasticsearch的最终一致行为,我可以直接查询Lucine。
"也许还有别的解决办法"

8yoxcaq7

8yoxcaq71#

看一下?refresh flag这样一个索引请求将只返回一次刷新已经发生.否则你可以使用GET API来查看文档是否存在或不存在
然而,这里没有神奇的选项,Elasticsearch最终是一致的,您需要考虑到这一点

相关问题