Elasticsearchがリクエストの処理を完了したかどうかを確認する方法はありますか?
挿入後にレコードが見つかる可能性がある場合は、アプリケーションチェックの統合テストを実行します。例えば 私は、次のリクエスト作る場合: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秒間寝ると、ほとんどの場合は動作しますが、必ずしもそうではありません。
私はスリープ時間を例えば延長することができました。 3秒ですが、それはテストを非常に遅くするので、私の質問です。
私はcat pending tasksとpending cluster tasksエンドポイントを使用しようとしましたが、応答は常に空です。これのいずれかが関連している場合は、私がElasticsearch 5.4
、Laravel Scout 3.0.5
と
おかげさまで、私は 'index.refresh_interval'を' 1ms'に設定しています。そして600msの間スリープする1000回のテストランでは常に十分です。 –