So I have 3 documents with 2 fields: title and brand
- Title: Björn Borg R400 Low SNB schoenen heren marine/groen/wit, Brand: Björn Borg
- Title: Baby Born Schoenen 2-Pack Assorti, Brand: Baby Born
- Title: Born In The Echoes, Brand: Virgin Records
Now I'm doing a multi_match query on this with the term Björn Borg Schoenen
and a weight of 2.0 for the title and 5.0 for the brand
GET /my_index/_search
{
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "bjorn borg schoenen",
"fields": [
"title^5.0",
"brand^2.0"
],
"type": "best_fields",
"operator": "and",
"fuzziness": "auto"
}
}
]
}
}
}
Now the result that I would expect is the order they are in as above 1, 2 and 3. But I'm getting the results back in the order 2, 3 and 1.
The only thing I can think of why this is happening is because the word Born
is 1 levenshtein distance away from Bjorn
as well as from Borg
so it matches double and the word Schoenen
also is in the title of the 2nd document. And for the same double matching reason plus Born
is 25% (double is 50%) of the title in the 3rd document versus 3 words in 10 equals 30% in the 1st document. But ofcourse this is not the behaviour that I would expect, let alone the behaviour that I want.
Can anyone shed a light on this? Or even provide a way to "fix" this?