Что такое constant_score в срок и без - PullRequest
1 голос
/ 09 июля 2020

Я получил тот же результат для обоих запросов DSL, представленных ниже. Я не понимаю между constant_score и без этого

В чем разница? Есть ли преимущества перед другими?

Ниже приведен пример запроса DSL

{
"query" : {
    "constant_score" : {
        "filter" : {
            "term" : {
                "name.keyword": "Anthropology 230"
                
            }
        }
    }
}

Второй пример запроса

{
  "query": {
    "term" : {
         "name.keyword": "Anthropology 230"
      }
  }
}

В чем разница? Есть ли преимущество перед другими?

1 Ответ

1 голос
/ 09 июля 2020

Постоянная оценка позволяет вам отказаться от встроенных механизмов подсчета очков

Теперь вы говорите: «Хорошо, я понимаю, но почему меня это волнует, почему это вообще функция? Что ж, в случае использования, который вы опубликовали, вам все равно. на самом деле это просто создает накладные расходы.

Так когда вам будет до этого дело? Один из возможных сценариев:

Вы используете запрос Disjunction max для извлечения документов на основе нескольких запросов. теперь обычно вы будете привязаны к нормальному баллу, даваемому elasti c. но что, если вы хотите, чтобы определенный запрос из них давал постоянный большой импульс? постоянный счет дает вам возможность сделать это.

Вы можете найти подробный пример для такого случая здесь .

...