bagui
(bagui)
August 22, 2014, 1:30pm
1
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 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 elasticsearch+unsubscribe@googlegroups.com .
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/945425a0-69c2-46bd-b63f-a23bc6dc455c%40googlegroups.com .
For more options, visit https://groups.google.com/d/optout .
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 i.bagui@gmail.com 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 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 elasticsearch+unsubscribe@googlegroups.com .
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 elasticsearch+unsubscribe@googlegroups.com .
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 .
bagui
(bagui)
December 8, 2014, 7:33pm
3
Hi,
In this code I'm trying to update the field "view_mode" value as "read".
On Friday, August 22, 2014 11:25:45 PM UTC+5:30, vineeth mohan wrote:
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 <i.b...@gmail.com
<javascript:>> 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 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 elasticsearc...@googlegroups.com <javascript:>.
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 elasticsearch+unsubscribe@googlegroups.com .
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/e1485ab2-6aac-4ef2-830d-5d11123fd7f6%40googlegroups.com .
For more options, visit https://groups.google.com/d/optout .