首页 > 解决方案 > 即使在成功插入文档后,ElasticSearch 计数 API 也会返回相同的数字

问题描述

我使用 ElasticSearch python 模块的批量 API 将新文档添加到 ElastichSearch 中的索引。它返回成功,当我在 ElasticSearch 索引中搜索文档时,我可以找到它。所以我确定插入是正确的。但是,使用 ElastiSearch 计数 API ( https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-count.html ) 我得到与插入文档之前相同的数字。这是它的输出:

epoch      timestamp count
1604741686 09:34:46  1297277503

是因为我的索引中有太多文档吗?

标签: elasticsearch

解决方案


我认为这是因为 Elasticsearch 不时刷新(可配置),因此您不会立即看到结果,而是在刷新索引之后。考虑到您在修改后手动检查它 - 到那时它可能已经刷新,因此您将看到更新的值。

如果你想玩这种行为,它有几个解决方案。它对测试很有用,但我强烈坚持你重新设计你的应用程序,让它在生产中是异步的。

更多信息 - https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-refresh.html


推荐阅读