es = ES('localhost:9200')
es.create_index_if_missing(index_name, INDEX_SETTINGS)
Everything works fine until the machine gets rebooted or the Elastic Search service gets restarted. After a reboot, the index and the mapping are still there, but all my filters stop working as if the analyzer does not exist. If I query the _settings of my index, I can see the analyzer but it seems to have no effect.
A couple more days of debugging and I have learned:
The behavior is the same whether I use the Python client or the REST
client
I can't reproduce the behavior in a simpler test case
It might be related to the fact that I am trying to filter on a nested
document.
This issue (closed two years ago) seems tantalizingly close:
document level analyzer (analyzer, index_analyzer, search_analyzer) are not
serialized (and not maintained across restarts)
I'm interested in tips to debug my problem or workarounds. ie., once the
problem occurs, how to rememdy it. RIght now, my only rememdy is to
completely re-index all the data.
Thanks in advance,
Kevin
On Monday, August 20, 2012 5:42:19 PM UTC-7, Kevin Lawrence wrote:
I have a python script that creates a new index and a mapping using Pyes.
At
the same time as I create the index, I also create an analyzer.
es = ES('localhost:9200')
es.create_index_if_missing(index_name, INDEX_SETTINGS)
Everything works fine until the machine gets rebooted or the Elastic
Search
service gets restarted. After a reboot, the index and the mapping are
still
there, but all my filters stop working as if the analyzer does not exist.
If
I query the _settings of my index, I can see the analyzer but it seems to
have no effect.
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.