gpt4 book ai didi

unit-testing - 如何知道添加新数据后 Elasticsearch 何时准备好进行查询?

转载 作者:行者123 更新时间:2023-12-03 01:23:07 26 4
gpt4 key购买 nike

我正在尝试使用elasticsearch进行一些单元测试。首先,我使用索引API大约100次,以将新数据添加到索引中。然后,我将搜索API与aggs结合使用。问题是,如果我在添加数据100次后不暂停1秒钟,则会得到随机结果。如果我等待1秒钟,我总是会得到相同的结果。

我宁愿不必在测试中等待x的时间,这似乎是一种不好的做法。有没有办法知道何时准备好数据?

我一直等到我已经从elasticsearch / index api获得成功响应后,但这似乎还不够。

最佳答案

首先,我建议您使用一个bulk查询为您的文档建立索引:由于减少了http / tcp开销,因此可以节省一些时间。

要回答您的问题,在为100个文档建立索引时,应考虑使用refresh=true参数(或wait_for)。

如文档中所述,它将:

Refresh the relevant primary and replica shards (not the whole index) immediately after the operation occurs, so that the updated document appears in search results immediately



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

关于unit-testing - 如何知道添加新数据后 Elasticsearch 何时准备好进行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59342009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com