I have a made query to delete an entire from index at 13:49:48 but ES took almost 40-50sec to delete the query. But in /elasticsearch/log/*.log file i am unable to find the any details regarding it.
From available debug log i am able see the time took is 49511 which very huge. Delete query response: &{49511 <nil> false 1 0 0 1 1 0 0 {0 0} 0 -1 0 []}
When you use delete-by-query you delete the documents one-by-one. A delete is basically equal to an update, which means that it is I/O intensive and can be slow. If you are deleting all data in an index, it is much more efficient to delete the full index and then recreate it.
There is some misunderstanding.
I am not deleting a huge data say 80% as such. At present setup, the index has some 10 docs out of which i am just deleting the one doc. So for one doc it took much time.
Technically the flow and issue is, there is request like
-> del x doc
after ~10sec
-> add x doc
executed in fractions of seconds
<- ack for 'add x doc' : doc x added
after sometime
<- ack for 'del x doc': doc x deleted
As delete operation executed lately there is some discrepancy in final data available.
ES dump itself saying that it 49511 time. I just wont know
what could be the possible reason? And yes the remaining operations took very less time.
As of now the logs under /elasticsearch/logs/* has very less info. Is there any way to increase the debug log level?
Is there any queue technique say, for one particular index if i send 3 operation one after the other like add, add, delete. So will ES execute all in sequence or how?
if in sequence then if 1st operation fails then the remaining will discarded or it will processed? In which log we can see this.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.