Return-Path: X-Original-To: apmail-camel-issues-archive@minotaur.apache.org Delivered-To: apmail-camel-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A724A10B0A for ; Tue, 23 Dec 2014 10:08:14 +0000 (UTC) Received: (qmail 57221 invoked by uid 500); 23 Dec 2014 10:08:14 -0000 Delivered-To: apmail-camel-issues-archive@camel.apache.org Received: (qmail 57188 invoked by uid 500); 23 Dec 2014 10:08:14 -0000 Mailing-List: contact issues-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list issues@camel.apache.org Received: (qmail 57179 invoked by uid 99); 23 Dec 2014 10:08:14 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Dec 2014 10:08:14 +0000 Date: Tue, 23 Dec 2014 10:08:14 +0000 (UTC) From: "Claus Ibsen (JIRA)" To: issues@camel.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Resolved] (CAMEL-8149) Support application-generated document identifiers in bulk index requests MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CAMEL-8149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Claus Ibsen resolved CAMEL-8149. -------------------------------- Resolution: Fixed Thanks for the PR. > Support application-generated document identifiers in bulk index requests > ------------------------------------------------------------------------- > > Key: CAMEL-8149 > URL: https://issues.apache.org/jira/browse/CAMEL-8149 > Project: Camel > Issue Type: Improvement > Components: camel-elasticsearch > Affects Versions: 2.14.0 > Reporter: Derek Abdine > Assignee: Claus Ibsen > Fix For: 2.15.0 > > Attachments: camel-8149.patch > > > Elasticsearch (via the elasticsearch-java transport client) provides two categories of APIs to write and read data: Individual requests (index, get, delete) and bulk requests. > When performing bulk updates one creates individual index requests and adds them to the bulk request. When creating an index request one can set the source document, id, etc. > The current design of the camel-elasticsearch component controls the transformation and assembly of an input body (json string, byte[], xcontentfactory, map) to an index request. Thus, it is impossible to set the id on the index request that goes into a bulk action. The end result is that the id is set by the default behavior of the underlying elasticsearch-java client which generates a random identifier. This is problematic in situations where control is needed over the id, e.g. for de-duplication purposes. > My proposal is to improve the design of the producer to allow for elasticsearch-java ActionRequest sub-classes in the message body so that upstream message processors can control the creation of those requests. > I've attached a patch and sent a pull request on github. > Thank you! > Derek Abdine -- This message was sent by Atlassian JIRA (v6.3.4#6332)