# Does BULK API returns results before task is completed?

**URL:** <https://discuss.elastic.co/t/does-bulk-api-returns-results-before-task-is-completed/299911>\
**Category:** Elasticsearch\
**Created:** [March 17, 2022, 3:58am UTC](https://discuss.elastic.co/t/does-bulk-api-returns-results-before-task-is-completed/299911 "2022-03-17T03:58:43Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![lonewolf](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lonewolf/32/104141_2.png) [@lonewolf](https://discuss.elastic.co/u/lonewolf)\
**Post date:** [March 17, 2022, 3:58am UTC](https://discuss.elastic.co/t/does-bulk-api-returns-results-before-task-is-completed/299911/1 "2022-03-17T03:58:43Z")

</div>

I am using Elasticsearch-python bulk helpers to update a index and run a search query with a script. The query executes successfully only if add some timeout (say 10s) between bulk update and script. Is this because bulk update is async in nature or es-python function is async?

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [March 17, 2022, 4:15am UTC](https://discuss.elastic.co/t/does-bulk-api-returns-results-before-task-is-completed/299911/2 "2022-03-17T04:15:33Z")

</div>

Documents indexed into Elasticsearch are [are not immediately available for search](https://www.elastic.co/guide/en/elasticsearch/reference/7.17/near-real-time.html). Making documents available for search is expensive and therefore only done periodically as per the refresh interval of the index.

---

<div class="post-metadata">

**Author:** ![lonewolf](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lonewolf/32/104141_2.png) [@lonewolf](https://discuss.elastic.co/u/lonewolf)\
**Post date:** [March 17, 2022, 4:19am UTC](https://discuss.elastic.co/t/does-bulk-api-returns-results-before-task-is-completed/299911/3 "2022-03-17T04:19:19Z")

</div>

Thank you so much! This was driving me crazy. What would be recommended way to handle this? How should determine what amount of time to wait before searching?

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [March 17, 2022, 4:33am UTC](https://discuss.elastic.co/t/does-bulk-api-returns-results-before-task-is-completed/299911/4 "2022-03-17T04:33:07Z")

</div>

You can [wait for refresh to occur (or even force one) in the bulk request](https://www.elastic.co/guide/en/elasticsearch/reference/7.17/docs-bulk.html#bulk-refresh). Be aware that forcing refreshes can have a significant impact on indexing performance.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [April 14, 2022, 4:33am UTC](https://discuss.elastic.co/t/does-bulk-api-returns-results-before-task-is-completed/299911/5 "2022-04-14T04:33:15Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
