Минимальное значение затухания ElasticSearch

#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"
    }
  }
}