Hello Subhadip* , *

What exactly are you trying to achieve using this code.

 updateResponse = client.prepareUpdate(index, type, id)
  .setDoc(jsonBuilder()
  .startObject().field("view_mode", "read")
  .endObject())
.setDocAsUpsert(true)
.setFields("_source")
.setTimeout("10000")

I was wondering where the modification data is given.

Thanks
            Vineeth



On Fri, Aug 22, 2014 at 7:00 PM, Subhadip Bagui <[email protected]> wrote:

> Hi,
>
> I'm doing update in elasticsearch document and the same time one rest api
> is calling for search results. Below is my code.
>
> public String updateElasticsearchDocument(String index, String type,
> List<String> indexID) {
> Client client = ESClientFactory.getInstance();
> UpdateResponse updateResponse = null;
> JSONObject jsonResponse = new JSONObject();
> JSONObject json =new JSONObject();
> int i=1;
>  try {
> for(String id : indexID)
> {
>  updateResponse = client.prepareUpdate(index, type, id)
>   .setDoc(jsonBuilder()
>   .startObject().field("view_mode", "read")
>   .endObject())
> .setDocAsUpsert(true)
> .setFields("_source")
> .setTimeout("10000")
>   .execute().actionGet();
>  logger.info("updating the document for type= "+
> updateResponse.getType()+ " for id= "+ updateResponse.getId());
>
>  json.put("indexID"+i, updateResponse.getId());
>  i++;
> }
> jsonResponse.put("updated_index", json);
>  } catch (ActionRequestValidationException e) {
> logger.warn(this.getClass().getName() + ":" + "updateDocument: "
> + e.getMessage(), e);
> }
> catch (ElasticsearchException e) {
> logger.warn(this.getClass().getName() + ":" + "updateDocument: "
> + e.getMessage(), e);
> e.printStackTrace();
> } catch (IOException e) {
> logger.warn(this.getClass().getName() + ":" + "updateDocument: "
> + e.getMessage(), e);
> } catch (JSONException e) {
> // TODO Auto-generated catch block
> e.printStackTrace();
> }
> return jsonResponse.toString();
> }
>
> *the search query is :*
>
> POST /monitoring/quota-management/_search
>
>     {
>           "query": {"match": {
>               "view_mode": "read"
>            }},
>         "sort": [
>            {
>               "_timestamp": {
>                  "order": "desc"
>               }
>            }
>         ],
>         "size": 10
>     }
>
> Now, I have to wait for like 40-50 seconds to get the updated search
> result. This is affecting the production application.
> Please let me know what needs to be done here to minimizes the time taken.
>
> Thanks,
> Subhadip
>
> --
> 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/945425a0-69c2-46bd-b63f-a23bc6dc455c%40googlegroups.com
> <https://groups.google.com/d/msgid/elasticsearch/945425a0-69c2-46bd-b63f-a23bc6dc455c%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/CAGdPd5kp10tiuNpPN4wW1mso_-MLxfB1zBZULM%2BpSeSG6o75dg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to