From time to time, my index gets corrupt and no longer returns the proper
facet information. I am running version 0.17.6 on Windows 7 64-bit. In order
to get my facet information to work the way I need it, I have created a
default-mapping.json file in the config folder with this in it:
{
"record": {
"dynamic_templates": [{
"index_nonanalyzed": {
"match": "*",
"match_mapping_type": "string",
"mapping": {
"type": "string",
"index": "not_analyzed"
}
}
}]
}
}
I don't want any of my strings to be analyzed so they will be returned
"intact". For example, I want my facets to be like this "dirt and sand"
instead of it being broke up into three facets of "dirt", "and", and "sand".
I'm not sure if the dynamic templates approach is the best way to achieve
this but it seems to work.
However, when I stop ES and restart it by running elasticsearch.bat, I've
noticed that as long as I see the output say "re-syncing mappings with
cluster state for type [[record]]", the facets remain correct. If it doesn't
output that but only says "started", the facets return "exploded" into
separate pieces. Once this happens, it never goes back to having intact
facets; even if it says "re-syncing mappings...".
The only way to recover is to delete my data directory and reindex
everything.
Here are what the facets should look like:
Here they are when they get messed up:
Does anyone have any insight on what could be going on?
Thanks.