Hi Alex,

It turns out that it was my fault. But this is a tricky one, I'd like to
explain what happened for others to benefit. The issue was that I was not
storing the field that I was updating. Therefore the getValue was returning
empty from the Java API. The reason that I was able to see the updated
document via REST api is that I was seeing the _source field. So I went
back to my mappings, and corrected the store attribute on the field.

Bottom line is _source field already contains the whole document, there's
little point in storing individual fields in Lucene other than highlight
purposes.

Thanks for your answer.


On Tue, Jan 14, 2014 at 1:41 PM, Alexander Reelsen <[email protected]> wrote:

> Hey,
>
> can you check the update response, if it was successful? Usually a refresh
> should be sufficient? You are testing the REST API while you are running
> this test and the REST works and this test doesnt?
>
> Also can you provide a complete snippet including indexation and all your
> calls? The above code doesnt compile and contains many placeholders, so we
> cannot a complete picture of what you are doing.. A gist would be great!
> Thanks!
>
>
> --Alex
>
>
> On Sat, Jan 11, 2014 at 1:07 PM, Ukyo Virgden <[email protected]>wrote:
>
>> Hi,
>>
>> I've just updated to 0.90.10 from 0.90.5, and I'm having some issues with
>> my unit tests.
>>
>> Here's the outline of the test
>>
>> TransportClient c = new TransportClient(settings).addTransportAddress(new
>> InetSocketTransportAddress("localhost", 9300));
>> SearchResponse res = c.prepareSearch().setIndices(TEST_INDEX).addFields(
>> LIST_OF_FIELDS).setQuery(QueryBuilders.matchQuery("id", "<<SOME ID>>")).
>> execute().actionGet();
>> // do the update
>> UpdateResponse updateRes = prepareUpdateRequestForDocument(indexName,document
>> ).setScript("<< UPDATE SCRIPT >>").execute().actionGet();
>>
>> // via REST API, I see the modified document hence the update is applied.
>> // sleep for a while and repeat search
>> SearchResponse res = c.prepareSearch().setIndices(TEST_INDEX).addFields(
>> LIST_OF_FIELDS).setQuery(QueryBuilders.matchQuery("id", "<<SOME ID>>")).
>> execute().actionGet();
>>
>> SearchHit hit = res.getHits().getAt(0);
>> // the document returned in the second search is not the updated document.
>> assert(check document) -> fails
>>
>>
>>
>> even if I issue
>>
>> client.admin().indices().prepareRefresh(TEST_INDEX).execute().actionGet
>> ();
>>
>>
>> or
>>
>> client.admin().indices().prepareFlush(TEST_INDEX).execute().actionGet();
>>
>>
>> Why am I receiving the non-updated old document from the Java API where I
>> immediately see the updated document via rest api? What am I missing?
>>
>> Thanks in advance,
>> Ukyo
>>
>>  --
>> 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/71df3e92-cc2d-4b03-acd1-73330e7df914%40googlegroups.com
>> .
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>  --
> You received this message because you are subscribed to a topic in the
> Google Groups "elasticsearch" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/elasticsearch/TmXih0KvEC0/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elasticsearch/CAGCwEM_0jF9XA0%3DgRs3%2BCaqLKyed%2BBFX0-y_Ysj5Lh5UaQBZ-A%40mail.gmail.com
> .
>
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
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/CAHZHwzOXLVGQ2_ipduJbjj92MYknwazankhbzqjWacLEH5wjkg%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to