Elastic Search 隐藏文档表单搜索直至导入过程结束的方法

kla*_*har 3 elasticsearch

我想知道在以下情况下是否有任何方法可以从搜索例程中“隐藏”文档:

  1. 导入过程每天运行。
  2. 导入过程通过多次调用将文档索引到 Elastic Search_bulk
  3. 当导入过程正在运行时,我不知道刚刚导入的文档能够通过_search.

Elasticsearch是否有某种事务支持——在提交事务之前没有可用的索引文档?

我预计在一次导入过程中索引的文档数量会相当多。所以我不能打一个_bulk电话。

我尝试了index.refresh_interval索引设置并_refresh在导入过程结束时调用。但这并没有多大帮助 - 文件在导入过程中变得可搜索。

imo*_*tov 5

Elasticsearch 不支持事务。您将需要在客户端处理此功能。如果您仅添加文档(无更新),则可以将批次 ID 与每个记录相关联,并过滤掉批次 ID >= 当前正在运行的批次的所有记录。在批次结束时,当您想要提供新记录时,您可以更新过滤器以包含刚刚完成的批次 ID。您可以将此过滤器与别名相关联,这将使该开关对搜索者透明。但这种方法在更新的情况下不起作用。