# RabbitMQ River-\>Bulk API:Delete or DeleteByQuery?

**URL:** <https://discuss.elastic.co/t/rabbitmq-river-bulk-api-delete-or-deletebyquery/6121>\
**Category:** Elasticsearch\
**Created:** [December 10, 2011, 5:38pm UTC](https://discuss.elastic.co/t/rabbitmq-river-bulk-api-delete-or-deletebyquery/6121 "2011-12-10T17:38:59Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dlemphers](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dlemphers/32/3044_2.png) [@Dlemphers](https://discuss.elastic.co/u/Dlemphers)\
**Post date:** [December 10, 2011, 5:38pm UTC](https://discuss.elastic.co/t/rabbitmq-river-bulk-api-delete-or-deletebyquery/6121/1 "2011-12-10T17:38:59Z")

</div>

Hi folks,

I'm using the RabbitMQ River to bulk index some feed data, but I can't seem to work out how to do a deletebyquery first, or an upsert like in mongodb. The main issue is I don't have an id for each record, but three very strong fields that make a good update key for our model. Is there a preferred way of approaching bulk upserts in ES?

Thx,

Dave.

---

<div class="post-metadata">

**Author:** ![Dlemphers](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dlemphers/32/3044_2.png) [@Dlemphers](https://discuss.elastic.co/u/Dlemphers)\
**Post date:** [December 11, 2011, 6:22pm UTC](https://discuss.elastic.co/t/rabbitmq-river-bulk-api-delete-or-deletebyquery/6121/2 "2011-12-11T18:22:39Z")

</div>

Had a quick look at the code today, and found the answer:

package org.elasticsearch.client.action.bulk only implements support for DeleteRequest, not DeleteByQuery.

Oh well. ☹

---

<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:** [July 6, 2017, 3:45am UTC](https://discuss.elastic.co/t/rabbitmq-river-bulk-api-delete-or-deletebyquery/6121/3 "2017-07-06T03:45:45Z")

</div>


