Elasticsearch 在 `scan` 和 `scroll` 然后 `refresh` 和 `flush` 后不正确的文档计数
Elasticsearch incorrect document count after `scan` & `scroll` and then `refresh` & `flush`
我使用 scan
和 scroll
从 old_index 重新索引到 new_index。重建索引完成后,我立即执行 refresh
和 flush
,希望数据能够持久保存到磁盘中。然后我立即阅读了两个索引的文档计数。新索引通常会有零个文档。我必须在循环中重复读取文档计数(每次迭代暂停 1 秒)。仅在 20 秒左右后,我就会看到相等的文档计数。 (两个索引的刷新率都设置为30秒)。
根据我的理解,调用 refresh
或 flush
,我应该会看到实际的文档计数。但事实并非如此。
在Elasticsearch1.6中可以使用:
curl -XPOST localhost:9200/index/_flush/synced
至sync
flush
执行完毕。
我使用 scan
和 scroll
从 old_index 重新索引到 new_index。重建索引完成后,我立即执行 refresh
和 flush
,希望数据能够持久保存到磁盘中。然后我立即阅读了两个索引的文档计数。新索引通常会有零个文档。我必须在循环中重复读取文档计数(每次迭代暂停 1 秒)。仅在 20 秒左右后,我就会看到相等的文档计数。 (两个索引的刷新率都设置为30秒)。
根据我的理解,调用 refresh
或 flush
,我应该会看到实际的文档计数。但事实并非如此。
在Elasticsearch1.6中可以使用:
curl -XPOST localhost:9200/index/_flush/synced
至sync
flush
执行完毕。