Floundering with snowball analyzer setup

I went through all the relevant ES documentation to no avail. I used the KISS method by starting with simple syntax from ES (sourced from https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-snowball) . I simply changed to English - see below. Procedure:
0) Ran a few test cases & captured results

  1. Deleted index/type (leaving index available)
  2. closed index
  3. Updated index settings
  4. opened index
  5. issued GET for settings to confirm changes
  6. re-indexed that index/type
  7. issued a few test queries :frowning:

i realize that it's likely something obvious but unfortunately, not to me......

"analysis" : {
"analyzer" : {
"my_analyzer" : {
"tokenizer" : "standard",
"filter" : ["standard", "lowercase", "my_snow"]
"filter" : {
"my_snow" : {
"type" : "snowball",
"language" : "English"

I belatedly realized that I only wanted to snowball specific fields.
So I attempted this via PUT mapping.
Even though I didn't specify an analyzer, still has conflict with (presumably) standard.
So.....looks like i need to export data, delete index, map it appropriately, then re-index data.
If there are any shortcuts, i'm all ears!


you cannot change the analyzer of a field, after data was indexed. Otherwise you would have the data stored with two different strategies, which made searches impossible and return weird results.

You can use the reindex API to make this process easier. However, you might want to play around with the Analyze API first, to find out of snowball actually makes sense with your data (this API is excellent for initial exploration, before you need to reindex).


I was hoping to change mapping "on the fly" to affect new documents only-
then recycle existing data, one bite at a time.
Yes, I did test snowball with my data, seems to meet my needs.

Doug McQuilken
President - Grow Through People
Owner - Boat Used Part Search
Amateur Shipwright
Boatbuilding and Maintenance Editor