Elasticsearch 6, оценка с учетом длины nGram
Я пытался найти способ получить более высокий балл для запросов, которые идут против полей nGrammed, если значение в запросе имеет длину, которая больше похожа на ту, с которой он был сопоставлен.
Например:
запрос
{
"query": {
"multi_match": {
"query": "15, Kossuth Street - SE10",
"type": "cross_fields",
"fields": ["houseNr", "street", "city", "county", "postCode"]
}
}
}
по полям (все из которых токенизированы с помощью EdgeNGram)
"_source": {
"houseNr": "15",
"street": "Kossuth Street",
"city": "London",
"postCode": "SE10 0AA"
}
даст лучший результат, чем запрос
"multi_match": {
"query": "1, Kossuth Street - SE10",
"type": "cross_fields",
"fields": ["houseNr", "street", "city", "county", "postCode"]
}
Вопрос по сути такой же, как: Elasticsearch: подсчет очков с помощью Ngrams, но для Elasticsearch 6