Merci beaucoup David!

Noted :)

Best regards, 

Arinto


On Monday, February 10, 2014 4:38:13 PM UTC+8, David Pilato wrote:
>
> I think it makes sense to do it like this.
> The only comment I have is that you should use BulkProcessor to send your 
> new documents.
> Not sure I will use Update API because basically you already have full 
> _source in response hits.
> So, updating on a client level could make sense.
>
> If you don't want to send again all docs over the wire, then Update API is 
> OK. In that case I'd probably disable _source in prepareSearch using fields.
>
> My 2 cents
>
> -- 
> *David Pilato* | *Technical Advocate* | *Elasticsearch.com*
> @dadoonet <https://twitter.com/dadoonet> | 
> @elasticsearchfr<https://twitter.com/elasticsearchfr>
>
>
> Le 10 février 2014 at 09:23:53, Arinto Murdopo 
> ([email protected]<javascript:>) 
> a écrit:
>
> Hi all,  
>
> I plan to update my data while performing scrolling. Is this use case 
> valid for ElasticSearch? and is there any best practice for this use case? 
>
> What I plan to do is something like this (using Java API). While iterating 
> through the hits of ScrollResponse, I issue ElasticSearch update request.
>
>  
>
>  public void updateWhileScrolling(){
>  
>   SearchResponse scrollResp = esRelationshipClient
>  
>   .prepareSearch(someIndex)
>  
>   .setTypes(someType)
>  
>   .setSearchType(SearchType.SCAN)
>  
>   .setScroll(new TimeValue(scrollTimeWindow, scrollTimeUnit))
>  
>   .setQuery(QueryBuilders.matchAllQuery())
>  
>   .setSize(sizePerShard)
>  
>   .execute().actionGet();
>  
>   
>  
>   while(true){
>  
>    scrollResp = esRelationshipClient
>  
>  
>   
>  
>   .prepareSearchScroll(scrollResp.getScrollId())
>  
>   .setScroll(new TimeValue(scrollTimeWindow, scrollTimeUnit))
>  
>   .execute().actionGet();
>  
>   
>  
>   for(SearchHit hit: scrollResp.getHits()){
>  
>    Map<String, Object> source = hit.getSource();
>  
>   if(source != null){
>  
>            *//update source using Update API*
>  
>   }else{
>  
>     logger.error("source is null for {}", hit.toString());
>  
>     } 
>  
>  
>   
>  
>   } //end for loop for processing each hit
>  
>  
>   
>    //break condition, no hits are returned
>  
>      if (scrollResp.getHits().getHits().length == 0) {
>  
>          break;
>  
>      }
>  
>    }
>  
>   }
>  
>
>  
>  --
> 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/dd91574a-f8aa-4aef-959a-1ea10e7b3a3c%40googlegroups.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/25874b20-ab26-4b75-a260-487169b55c5f%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to