I've updated the default similarity module for my index to be boolean. The score should only be based on whether the query terms match or not.
Boolean similarity gives terms a score equal to their query boost
However, when I do a fuzzy search, I am not getting a score equal to the boost value. Is this a bug? Is there a configuration I'm missing to just use the query boost value for the score when doing a fuzzy search? e.g. Here is the relevant part of my query:
{
"query": {
"multi_match": {
"fields": [
"canonicalName_EN.prefix^1000"
],
"minimum_should_match": "4<80%",
"query": "boston",
"fuzziness": "AUTO",
"prefix_length": 2,
"type": "best_fields"
}
},
"size": 6,
"_source": ["display_EN"]
}
And here is the explain:
{
"value": 3300.0,
"description": "sum of:",
"details": [
{
"value": 800.0,
"description": "weight(canonicalName_EN.prefix:bosto in 58400) [PerFieldSimilarity], result of:",
"details": [
{
"value": 800.0,
"description": "score(, doc=58400), computed from:",
"details": [
{
"value": 800.0,
"description": "query boost",
"details": []
}
]
}
]
},
{
"value": 1000.0,
"description": "weight(canonicalName_EN.prefix:boston in 58400) [PerFieldSimilarity], result of:",
"details": [
{
"value": 1000.0,
"description": "score(, doc=58400), computed from:",
"details": [
{
"value": 1000.0,
"description": "query boost",
"details": []
}
]
}
]
},
{
"value": 833.3333,
"description": "weight(canonicalName_EN.prefix:boston in 58400) [PerFieldSimilarity], result of:",
"details": [
{
"value": 833.3333,
"description": "score(, doc=58400), computed from:",
"details": [
{
"value": 833.3333,
"description": "query boost",
"details": []
}
]
}
]
},
{
"value": 666.6666,
"description": "weight(canonicalName_EN.prefix:boston h in 58400) [PerFieldSimilarity], result of:",
"details": [
{
"value": 666.6666,
"description": "score(, doc=58400), computed from:",
"details": [
{
"value": 666.6666,
"description": "query boost",
"details": []
}
]
}
]
}
]
}