# Cannot use ignore\_unavailable in DeleteRequest in Elasticsearch Java API Client

**URL:** <https://discuss.elastic.co/t/cannot-use-ignore-unavailable-in-deleterequest-in-elasticsearch-java-api-client/365323>\
**Category:** Elasticsearch\
**Tags:** language-clients\
**Created:** [August 22, 2024, 1:35am UTC](https://discuss.elastic.co/t/cannot-use-ignore-unavailable-in-deleterequest-in-elasticsearch-java-api-client/365323 "2024-08-22T01:35:07Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![elvin](https://avatars.discourse-cdn.com/v4/letter/e/858c86/32.png) [@elvin](https://discuss.elastic.co/u/elvin)\
**Post date:** [August 22, 2024, 1:35am UTC](https://discuss.elastic.co/t/cannot-use-ignore-unavailable-in-deleterequest-in-elasticsearch-java-api-client/365323/1 "2024-08-22T01:35:07Z")

</div>

I am using the official Java API Client for Elasticsearch. : [Introduction | Elasticsearch Java API Client [7.17] | Elastic](https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/7.17/introduction.html)

When deleting I cannot use ignore\_unavailable

```auto
elasticsearchClient
        .delete(idx -> idx.index(indexName()).id(getId()))

```

The Java doc also not showing ignore\_unavailable .  
([DeleteRequest (java-client 7.17.23 API)](https://artifacts.elastic.co/javadoc/co/elastic/clients/elasticsearch-java/7.17.23/co/elastic/clients/elasticsearch/core/DeleteRequest.html))

but looks more options are supported in Search Request:  
([SearchRequest (java-client 7.17.23 API)](https://artifacts.elastic.co/javadoc/co/elastic/clients/elasticsearch-java/7.17.23/co/elastic/clients/elasticsearch/core/SearchRequest.html))

How can I use ignore\_unavailable in DeleteRequest with the new Elasticsearch Java API Client ?

---

<div class="post-metadata">

**Author:** ![xeraa](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/xeraa/32/48181_2.png) [@xeraa](https://discuss.elastic.co/u/xeraa)\
**Post date:** [August 22, 2024, 4:17am UTC](https://discuss.elastic.co/t/cannot-use-ignore-unavailable-in-deleterequest-in-elasticsearch-java-api-client/365323/2 "2024-08-22T04:17:45Z")

</div>

Are you looking for \_delete\_by\_query, which has that setting? [DeleteByQueryRequest (java-client 7.17.23 API)](https://artifacts.elastic.co/javadoc/co/elastic/clients/elasticsearch-java/7.17.23/co/elastic/clients/elasticsearch/core/DeleteByQueryRequest.html)

Or what are you trying to do that a delete request for a single ID would make sense for ignore\_unavailable (you‘re only targeting a single primary shard here)? Though you can set how many replicas need to be available for the command to succeed.

---

<div class="post-metadata">

**Author:** ![elvin](https://avatars.discourse-cdn.com/v4/letter/e/858c86/32.png) [@elvin](https://discuss.elastic.co/u/elvin)\
**Post date:** [August 22, 2024, 4:24am UTC](https://discuss.elastic.co/t/cannot-use-ignore-unavailable-in-deleterequest-in-elasticsearch-java-api-client/365323/3 "2024-08-22T04:24:35Z")

</div>

Thanks @xeraa  
I am trying to delete one document in one index. And the index possibly does not exist. So I would like to use iguore\_unavailable to bypass the error.

I think ignore\_unavailable bypasses the error if the index does not exist, not shard.

---

<div class="post-metadata">

**Author:** ![Quentin\_Pradet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/quentin_pradet/32/94192_2.png) [@Quentin\_Pradet](https://discuss.elastic.co/u/Quentin_Pradet)\
**Post date:** [August 22, 2024, 5:26am UTC](https://discuss.elastic.co/t/cannot-use-ignore-unavailable-in-deleterequest-in-elasticsearch-java-api-client/365323/4 "2024-08-22T05:26:22Z")

</div>

This parameter is not part of the [Delete API | Elasticsearch Guide [8.15] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete.html). To make sure it was not a documentation issue, I tested in Kibana Dev Tools and got this error: `request contains unrecognized parameter: [ignore_unavailable]`. Since it's not accepted, the Java client (or any other Elasticsearch client) does not expose it.

Have you considered ignoring the error on the client side? Since you can only delete one document with this API.

---

<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:** [August 22, 2024, 5:29am UTC](https://discuss.elastic.co/t/cannot-use-ignore-unavailable-in-deleterequest-in-elasticsearch-java-api-client/365323/5 "2024-08-22T05:29:12Z")

</div>

> [@elvin](#):
>
> I think ignore\_unavailable bypasses the error if the index does not exist, not shard.

I do not think that is the case. The purpose of the parameter is to allow partial results when multiple shards are addressed. A delete request is routed to a single shard based on the document id or routing value so a partial result is never possible. It therefore as far as I can see makes no sense to support the parameter here. I would recommend you instead handle the exception.

---

<div class="post-metadata">

**Author:** ![elvin](https://avatars.discourse-cdn.com/v4/letter/e/858c86/32.png) [@elvin](https://discuss.elastic.co/u/elvin)\
**Post date:** [August 22, 2024, 5:40am UTC](https://discuss.elastic.co/t/cannot-use-ignore-unavailable-in-deleterequest-in-elasticsearch-java-api-client/365323/6 "2024-08-22T05:40:13Z")

</div>

Thank you @Quentin_Pradet and @Christian_Dahlqvist  
That helps me understand it more deeply.
