Itamar, I'm using the Java driver and was hoping that UpdateResponse will 
have some kind of status but looks like it doesn't.

On Wednesday, October 1, 2014 3:01:02 PM UTC+3, Itamar Syn-Hershko wrote:
>
> HTTP status codes are used to communicate errors, for example a runtime 
> error would return HTTP status 500
>
> --
>
> Itamar Syn-Hershko
> http://code972.com | @synhershko <https://twitter.com/synhershko>
> Freelance Developer & Consultant
> Author of RavenDB in Action <http://manning.com/synhershko/>
>
> On Wed, Oct 1, 2014 at 2:59 PM, Aviv Eyal <[email protected] 
> <javascript:>> wrote:
>
>> Jörg - thanks for the thoughtful reply. Rephrasing my question a bit: how 
>> can the code be sure that an update request was at least submitted to ES 
>> without an error? Surely, an update request may fail due to various runtime 
>> issues.
>>
>> On Wednesday, October 1, 2014 12:21:15 PM UTC+3, Aviv Eyal wrote:
>>>
>>> Hi, I'm new to elasticsearch so there might be an obvious answer to this 
>>> question.
>>>
>>> What's the best way to check the status of an update operation that 
>>> changed the value of an existing property?
>>> I'm using a doc to update an existing indexed document using the java 
>>> update api:
>>>
>>> UpdateResponse updateResponse = client.prepareUpdate("content", 
>>> "contentitem", item.id)
>>> .setDoc(xb).execute().actionGet();
>>>
>>> updateResponse.isCreated() only returns true if the doc was inserted 
>>> using an upsert operation and updateResponse.getGetResult() returns 
>>> null null.
>>>
>>> I've looked in the ES tests source code and the way the test is 
>>> performed there is by issuing a new get request for the updated fields and 
>>> comparing the values from ES with the values set in the update:
>>>
>>>  // change existing field
>>>         updateResponse = client().prepareUpdate(indexOrAlias(), 
>>> "type1", 
>>> "1").setDoc(XContentFactory.jsonBuilder().startObject().field("field", 
>>> 3).endObject()).execute().actionGet();
>>>         for (int i = 0; i < 5; i++) {
>>>             getResponse = client().prepareGet("test", "type1", 
>>> "1").execute().actionGet();
>>>             
>>> assertThat(getResponse.getSourceAsMap().get("field").toString(), 
>>> equalTo("3"));
>>>             
>>> assertThat(getResponse.getSourceAsMap().get("field2").toString(), 
>>> equalTo("2"));
>>>         }
>>>
>>> I'm curious if this can be done just by using UpdateResponse and without 
>>> using another get.
>>>
>>> Thanks!
>>>
>>>
>>>
>>>  -- 
>> You received this message because you are subscribed to the Google Groups 
>> "elasticsearch" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/elasticsearch/bcec4757-542a-4a28-b94c-71fb23d129b3%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/elasticsearch/bcec4757-542a-4a28-b94c-71fb23d129b3%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/666ecbbd-8119-42e8-b04e-98b69d0d437c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to