Есть ли способ получить доступ к «Script_fields» в пользовательском «Script Context», используемом для сортировки - PullRequest
1 голос
/ 22 апреля 2020

В Sort_context при использовании собственного скрипта. Согласно документации я могу получить к ним доступ.

1) params (Карта, только для чтения)

2) do c (Карта, только для чтения)

3) _score (двойное чтение только)

Есть ли способ, я могу получить доступ к результатам полей (здесь "kuchbhi") Создается Script_Field в запросе, внутри Контекст сортировки в algo_for_sorting ?

Например, в сценарии algo_for_sorting (пользовательский безболезненный скрипт для сортировки) я могу написать как

fields ['kuchbhi'] [0] .

Мой запрос выглядит следующим образом.

GET hockey/_search
{
  "explain": true,
  "size": 20, 
  "query": {
    "match_all": {}
  },
  "stored_fields": [
    "_source"
  ],
  "sort": {
    "_script":{
      "type" : "number",
      "script" : {
        "id": "algo_for_sorting",
        "params":{
          "query":"linkedin"
        }
      },
      "order" : "desc"
    }
  },
  "script_fields": {
    "kuchbhi": {
      "script": {
        "id": "poca",
        "params": {
          "query" : "frolik"
        }
      }
    }
  }
}

1 Ответ

1 голос
/ 22 апреля 2020

Нет, вы не можете получить доступ к полям script_fields из сценария сортировки или сценария запроса

Например, вы не можете получить доступ к полям script_fields kuchbhi из сценария algo_for_sorting. Вы должны скопировать логи script_fields c в скрипт algo_for_sorting

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