I know this is an old thread, but it is most relevant to my similar
question. I have a situation where I have discovered some problems in my
analyzer configurations, to where I have a snowball tokenizer on the search
query, but no snowball being applied in a specific field with a custom
analyzer.
My analyzers were set up like this:
"default": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"word_delimiter_filter",
"standard",
"lowercase",
"stop",
"snowball"
]
},
"ngram_index_analyzer": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"standard",
"lowercase",
"ngram_filter"
]
}
The specific field using the ngram looks like this:
"keywords": {
"index_name": "keyword",
"type": "multi_field",
"fields": {
"keywords": {
"index_analyzer": "ngram_index_analyzer",
"type": "string"
},
"untouched": {
"type": "string",
"index": "not_analyzed"
}
}
},
I realize its going to look obviously wrong, which is why I am trying to
find the best way to fix it on a live production index
So searching for something like "body" was tokenizing to "bodi" and not
matching on the field using the ngram_index_analyzer. My thought was to
remove the "snowball" filter from the default analyzer. I discovered in
testing that you can't remove the field, but rather can only overwrite it
with a new value (which made me thing maybe I could just replace it with
another stop filter).But then the information in this thread did made me
realize that it would potentially screw up existing data tokenized via
snowball.
@Clinton, is that suggestion about creating another index with an adjusted
mapping, and using an alias relevant to my problem? Or is there a better
way to adjust for bad search analyzer settings on a live index?
On Thursday, July 19, 2012 12:38:09 PM UTC+12, Stephen Beeson wrote:
I have a configuration yml file that I am using to specify the analyzers
that I am using to index our documents. This is working fine, however if I
remove settings from the yml file, after updating elasticsearch, they are
still there.
Is there a mechanism for removing individual properties from an indexes
settings?
As an example, if I have set a number of filters, I see properties like so:
"index.analysis.analyzer.my_analyzer.filter.0" : "my_stop_words",
"index.analysis.analyzer.my_analyzer.filter.1" : "my_stemmer",
If I remove my_stemmer from the set of filters and update my settings the
entry "index.analysis.analyzer.my_analyzer.filter.1" remains.
Is there a way to remove these?
Thanks
Stephen
--
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.
For more options, visit https://groups.google.com/groups/opt_out.