gpt4 book ai didi

testing - 检查Elasticsearch是否已经完成索引

转载 作者:行者123 更新时间:2023-11-28 20:04:37 25 4
gpt4 key购买 nike

有没有办法检查 Elasticsearch 是否已完成处理我的请求?
我想为我的应用程序执行集成测试,检查插入后是否可以找到记录。例如,如果我提出以下请求:

POST /_all/_bulk
{
"update":{
"_id":419,
"_index":"popc",
"_type":"offers"
}
}
{
"doc":{
"id":"419",
"author":"foo bar",
"number":"642-00419"
},
"doc_as_upsert":true
}

然后我立即检查,测试失败,因为 Elasticsearch 需要一些时间才能完成我的请求。
如果我在断言之前睡 1 秒,它大部分时间都有效,但并非总是如此。
我可以将 sleep 时间延长到例如。 3 秒,但这会使测试非常慢,因此我的问题。

我试过使用 cat pending taskspending cluster tasks端点,但响应始终为空。

如果其中任何一项相关,我正在使用 Elasticsearch 5.4Laravel Scout 3.0.5tamayo/laravel-scout-elastic 3.0.3

最佳答案

我找到了这个 PR:https://github.com/elastic/elasticsearch/pull/17986

您可以使用 refresh: wait_for 并且 Elasticsearch 只会在您的数据可供搜索时响应。

关于testing - 检查Elasticsearch是否已经完成索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45936211/

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