Как мне построить запрос ElasticSearch для удовлетворения следующего:
Цена должна быть между 100 000 & 200 000, но также показывают результаты за пределами этого диапазона, но с уменьшающейся релевантностью, если выше 200 000 или ниже 100 000.
Пока что у меня есть следующее, но, похоже, оно не выполняет то, что я хочу (для краткости опущен запрос на перенос):
"function_score": {
"query": {
"range": {
"price_amount": {
"gte": 100000,
"lte": 200000
}
}
},
"functions": [
{
"gauss": {
"price_amount": {
"origin": "50000",
"offset": "50000",
"scale": "10000"}
}
}
]
}
Обновить:
Был бы другой взгляд, и я думаю, что установка функции на следующую, без запроса диапазона, сработает, не так ли?
"function_score": {
"functions": [
{
"gauss": {
"price_amount": {
"origin": "150000",
"offset": "50000",
"scale": "10000"}
}
}
]
}
Большое спасибо!
подветренный
Задача ещё не решена.
Других решений пока нет …