I have a mapping where name is analyzed using different analyzers standard, whitespace, custom (for camelcase) which makes it 3 different sub fields for name.
When I use tie_breaker option in multimatch query to have sum of fields score rather than best_field score the score from name field gets added multiple times since there are cases when all analyzers output will be same.
This causes the document score to go high due to one field match while other document with multiple field match in other fields which are not analyzed in multiple ways remains low.
{
"title": {
"type": "text",
"fields": {
"raw": { "type": "keyword", "index": "not_analyzed" },
"stemmed": { "type": "text", "analyzer": "Custom_analyzer" }
}
},
"description": {
"type": "text",
"analyzer": "custom_analyzer"
}
}
In above mapping "title", "title.raw" and "title.stemmed" scores should not be added but max should be taken and
Document score = Max(title, title.raw, title.stemmed) + description
AND NOT
Document score = title + title.raw + title.stemmed + description
Does ES provide a way to add the score of sub_fields only once for the major field match?