Неизвестный ключ для START_OBJECT в [custom_score] - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь создать пользовательский счет для запроса с несколькими совпадениями со следующим запросом:

GET /product/_search
{
  "custom_score": {
    "query": {
      "bool": {
        "must": {
          "multi_match" : {
            "query":    "casual shirt", 
            "type": "best_fields",
            "fields": [ "brandTitle^15", "title^10", "details^5" ],
            "tie_breaker": 1,
            "fuzziness": "AUTO"
          }
        },
        "filter": {
          "term": {
            "inStock": true
          }
        }
      }
    },
    "params": {
        "scoreWeighting": 2,
        "popularityWeighting": 5
    },
    "script": "scoreWeighting * _score + popularityWeighting * doc['popularity'].value"
  }
}

Я пытался перемещаться по полям параметров, сценариев и запросов в разные места, чтобы посмотреть, важен ли здесь порядок (я полагаю, что нет, поскольку это объект JSON). Эта документация также имеет синтаксис, аналогичный моему: https://www.elastic.co/guide/en/elasticsearch/reference/0.90/query-dsl-custom-score-query.html но все же мне не повезло.

Я получаю ошибку:

"Unknown key for a START_OBJECT in [custom_score]."

1 Ответ

0 голосов
/ 04 июня 2019

Итак, похоже, custom_score устарела, согласно:

https://www.elastic.co/guide/en/elasticsearch/reference/0.90/query-dsl-custom-score-query.html

Похоже, function_score_query или script_score - правильные инструменты для использования:

https://www.elastic.co/guide/en/elasticsearch/reference/0.90/query-dsl-function-score-query.html

Кроме того, если бы это не устарело, custom_score должен был бы быть внутри запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...