Поля скрипта ElasticSearch доступны в сортировке

avatar
Razvan
7 апреля 2018 в 23:18
600
0
6

Можно ли получить доступ к script_field внутри сортировки?

У меня есть

search_body["script_fields"] = {
    "test": {
        "script": {
            "lang": "painless",
            "inline": skill_rating_algorithm.replace("\n", ""),
            "params" : {
                "param1": {....}
            }
        }
    }
}

И в порядке сортировки:

search_body["sort"] = {
    "_script": {
        "type": "string",
        "order": "desc",
        "script": {
            "lang": "painless",
            "inline": "def c = params._fields['test']; return c;",
        }
    },
    "number_of_years_of_experience": {"order": "desc"},
    "value.raw": {"order": "asc"},
}

Но возвращаются только ошибки. Я мог бы сделать сценарий сортировки, но мне нужно, чтобы значение возвращалось в документе в виде отдельного ключа.

Мои вопросы: Могу ли я получить доступ к «тесту» script_field внутри сортировки? (Появится больше полей script_fields, и мне понадобится другой порядок)

Источник
user981225
30 октября 2019 в 13:10
4

Вы когда-нибудь находили решение этой проблемы?

Ответы (0)