Прямо сейчас мой поиск дает мне нежелательные результаты при поиске, скажем, для «яйца». я получаю следующее:Более высокий балл за первое слово в ElasticSearch
_score: 2.7645843
_source:
django_id: "18003"
text: "Bagels, egg"
content_auto: "Bagels, egg"
django_ct: "web.fooddes"
allergies: []
outdated: false
id: "web.fooddes.18003"
_explanation:
value: 2.7645843
description: "weight(_all:egg in 516) [PerFieldSimilarity], result of:"
details:
- value: 2.7645843
description: "fieldWeight in 516, product of:"
details:
- value: 1.4142135
description: "tf(freq=2.0), with freq of:"
details:
- value: 2.0
description: "termFreq=2.0"
- value: 5.21295
description: "idf(docFreq=26, maxDocs=1824)"
- value: 0.375
description: "fieldNorm(doc=516)"
в качестве первого результата.
И только пятая или даже дальше хотел один:
_score: 2.380459
_source:
django_id: "01124"
text: "Egg, white, raw, fresh"
content_auto: "Egg, white, raw, fresh"
django_ct: "web.fooddes"
allergies: []
outdated: false
id: "web.fooddes.01124"
_explanation:
value: 2.3804593
description: "weight(_all:egg in 1489) [PerFieldSimilarity], result of:"
details:
- value: 2.3804593
description: "score(doc=1489,freq=2.0), product of:"
details:
- value: 0.99999994
description: "queryWeight, product of:"
details:
- value: 5.386365
description: "idf(docFreq=22, maxDocs=1848)"
- value: 0.18565395
description: "queryNorm"
- value: 2.3804595
description: "fieldWeight in 1489, product of:"
details:
- value: 1.4142135
description: "tf(freq=2.0), with freq of:"
details:
- value: 2.0
description: "termFreq=2.0"
- value: 5.386365
description: "idf(docFreq=22, maxDocs=1848)"
- value: 0.3125
description: "fieldNorm(doc=1489)"
Это происходит потому, что первый результат имеет меньше слов в нем, и, следовательно, результат имеет более высокий балл, потому что «яйцо» является более актуальным в этом дело.
Однако я хочу, чтобы первое слово, встречающееся в результате, было самым важным. Поэтому, если я ищу слово «яйцо», он должен в первую очередь показать те результаты, которые начинаются с этого слова. Есть идеи, как это реализовать?