При использовании поискового запроса в эластичном поиске мы определяем, какие поля нам нужны в ответе.
"_source": ["name", "age"]
И при работе с search templates
мы должны установить значение полей _source при вставке шаблона поиска в ES Cluster.
"_source": ["name", "age"]
но проблема с шаблоном поиска заключается в том, что он всегда будет возвращать нам name and age
, и чтобы получить другие поля, мы должны соответствующим образом изменить наш шаблон поиска.
Есть ли способ передать поля поиска от клиента, чтобы он возвращал только те поля, в ответ на которые задал пользователь? Я добился этого только для одного поля, например, если вы сделаете это
"_source": "{{field}}"
затем во время поиска по шаблону вы можете сделать это
POST index_name/_search/template
{
"id": template_id,
"params": {
"field": "name"
}
}
Этот поисковый запрос возвращает поле name
в ответ, но я не смог найти способ передать его в виде массива или в другом формате, чтобы получить несколько полей.