3

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

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

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

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

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

4

1 回答 1

5

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

于 2013-03-29T17:27:23.803 回答