Hello,
I'm getting very weird results with edge_ngram tokenizer I'm using for autocomplete. I'm trying to figure out how to make my results more relevant. I copied the example from the elasticsearch documentation.
I have documents with the following descriptions:
- "Apples, raw, without skin"
 - "Apples, raw, golden delicious, with skin",
 - "APPLEBEE'S, chili"
 - "Babyfood, fruit, applesauce, junior"
 
If i search for apple,  "APPLEBEE'S, chili" will get higher score than "Apples, raw, without skin"
If i search for apples,  "Babyfood, fruit, applesauce, junior" will get higher score than "Apples, raw, golden delicious, with skin"
In both cases I would like to have higher score for the more relevant closer/shorter match (ie. apples when I search for apple or apples
My settings are:
"settings": {
  "analysis": {
    "analyzer": {
      "autocomplete": {
        "tokenizer": "autocomplete",
        "filter": [
          "lowercase",
          "asciifolding"
        ]
      },
      "autocomplete_search": {
        "tokenizer": "lowercase"
      }
    },
    "tokenizer": {
      "autocomplete": {
        "type": "edge_ngram",
        "min_gram": 2,
        "max_gram": 20,
        "token_chars": [
          "letter"
        ]
      }
    }
  }
},
query:
"query": {
    "match": {
      "description": {
          "query": "apple", 
          "operator": "and"
        }
    }
  }
What do I have to do to get the more relevant results score higher?
Thanks,
Gabor