ave added Edge Ngram Token Filter to my analyzer, ngram_back_fa. Here is my analyzer:
"ngram_back_fa": {
"tokenizer": "standard",
"filter": [
"lowercase",
"decimal_digit",
"trim",
"reverse",
"edge_ngram_filter",
"reverse"
]
}
I have added Edge Ngram Token Filter to my analyzer, ngram_back_fa. Here is my analyzer:
"ngram_back_fa": {
"tokenizer": "standard",
"filter": [
"lowercase",
"decimal_digit",
"trim",
"reverse",
"edge_ngram_filter",
"reverse"
]
}
Here is my filed, title_en:
"title_en": {
"type": "text",
"analyzer": "title_en_analyzer",
"boost": 40,
"fields": {
"with_back_ngram": {
"type": "text",
"analyzer": "ngram_back_en",
"boost": ngram_boost
}
}
}
And my search query is like this:
{
"query": {
"dis_max": {
"queries": [
{
"multi_match": {
"query": "HomeComing",
"type": "best_fields",
"title_en.with_back_ngram"
]
}
}
]
}
}
}
When I use Explain API to see how this analyzer is calculating my score I see that apparently, the tokens that are generated by token filter are like Synonym of the original tokens and therefore the score are really low. You can see the result of Explain API in the below image:
How Can I make elastic to stop this and treat this tokens (generated by token filter) the sane way it treats with the token generated by tokenizer?