#elasticsearch
#elasticsearch
Вопрос:
Используя функции затухания, как описано здесь: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html#function-decay
GET /_search
{
"query": {
"function_score": {
"gauss": {
"date": {
"origin": "2013-09-17",
"scale": "10d",
"offset": "5d",
"decay" : 0.5
}
}
}
}
}
Возможно ли установить максимальное затухание? В принципе, даже если элементу был 1 год, он все равно уменьшился бы только на 0,25.
Комментарии:
1. могли бы вы использовать оценку функции с фильтром и иметь два из них с 0,25 (максимальное затухание) для включения для элемента старше определенной даты и 0,5 для элементов новее определенной даты?
2. Хорошее предложение, я не знал, что фильтры можно применять подобным образом!
Ответ №1:
Вы можете использовать что-то вроде этого:
GET /_search
{
"query": {
"function_score": {
"functions": [
{
"gauss": {
"date": {
"origin": "2013-09-17",
"scale": "10d",
"offset": "5d",
"decay": 0.5
}
}
},
{
"weight": 0.25
}
],
"score_mode": "max"
}
}
}