0

我们正在使用 ES 从数据库中索引约 150 万条记录。为了填充索引,我们使用了 Pentaho ES 组件,该组件设置为“如果存在则覆盖”(运行约 15 分钟)。此外,可以通过 Java 服务检索、更新或删除单个索引文档。

问题是,在完整的 Pentaho 更新运行期间 ES 会返回什么?例如,我们有 150 万个版本为 1 的索引文档。下一次更新会将这个版本更改为 2。如果我们在 Pentaho 更新它时请求一个文档——我们会收到它的旧版本吗?该特定文件将无法提供服务吗?另外,如果我们收到旧版本,新版本会在更新后立即可用还是会等到全批次更新(pentaho 组件以 5k 为单位发送行)?

Pentaho - 4.4

弹性搜索 - 0.19.4

Lucene - 3.6.0

4

1 回答 1

1
  1. 如果新版本尚未提交,您将收到旧版本的文档。该服务将继续可用。
  2. 新版本将根据refresh_intervalelasticsearch 中的设置提供。这默认为每个1s.

pentaho 可能会refresh_interval在数据加载期间旋转。如果是这种情况,那么您将不得不等到 pentahorefresh直接调用该方法或直到它重置参数。

您可以简单地开始运行,然后检查通过的设置refresh_interval

curl -XGET "http://my-es-server:9200/my-index-name/_settings"
于 2013-03-06T20:21:11.993 回答