API шаблонов поиска
Выполняет поиск с помощью шаблона поиска.
resp = client.search_template(
index="my-index",
id="my-search-template",
params={
"query_string": "hello world",
"from": 0,
"size": 10
},
)
print(resp) response = client.search_template(
index: 'my-index',
body: {
id: 'my-search-template',
params: {
query_string: 'hello world',
from: 0,
size: 10
}
}
)
puts response const response = await client.searchTemplate({
index: "my-index",
id: "my-search-template",
params: {
query_string: "hello world",
from: 0,
size: 10,
},
});
console.log(response); GET my-index/_search/template
{
"id": "my-search-template",
"params": {
"query_string": "hello world",
"from": 0,
"size": 10
}
} Запрос
GET <target>/_search/template
GET _search/template
POST <target>/_search/template
POST _search/template
Предварительные условия
- Если включены функции безопасности Elasticsearch, у вас должны быть
readправа доступа к индексу для целевого потока данных, индекса или псевдонима. Для поиска по кластерам см. Удаленные кластеры.
Параметры пути
-
<target> - (Необязательно, строка) Список потоков данных, индексов и псевдонимов, разделенных запятыми, для поиска. Поддерживаются подстановочные знаки (
*). Для поиска всех потоков данных и индексов опустите этот параметр или используйте*.
Параметры запроса
-
allow_no_indices -
(Необязательно, логическое значение) Если
false, запрос возвращает ошибку, если какой-либо шаблон подстановки, псевдоним индекса или_allзначение направляют только на отсутствующие или закрытые индексы. Это поведение применяется даже если запрос направлен на другие открытые индексы. Например, запрос, направленный наfoo*,bar*, возвращает ошибку, если индекс начинается сfoo, но ни один индекс не начинается сbar.По умолчанию
true. -
ccs_minimize_roundtrips - (Необязательно, логическое значение) Если
true, сетевые запросы минимизируются для запросов поиска по кластерам. По умолчаниюtrue. -
expand_wildcards -
(Необязательно, строка) Тип индекса, с которым могут совпадать шаблоны подстановки. Если запрос может ориентироваться на потоки данных, этот аргумент определяет, соответствуют ли шаблоны подстановки скрытым потокам данных. Поддерживаются значения, разделенные запятыми, например,
open,hidden. Допустимые значения:-
all - Сопоставление с любым потоком данных или индексом, включая скрытые.
-
open - Сопоставление с открытыми, не скрытыми индексами. Также соответствует любому нескрытому потоку данных.
-
closed - Сопоставление с закрытыми, не скрытыми индексами. Также соответствует любому нескрытому потоку данных. Потоки данных не могут быть закрытыми.
-
hidden - Сопоставление со скрытыми потоками данных и скрытыми индексами. Должно быть сочетанием с
open,closedили обоих. -
none - Шаблоны подстановки не принимаются.
-
-
explain - (Необязательно, логическое значение) Если
true, ответ включает дополнительные детали о вычислении оценки в рамках результата поиска. По умолчаниюfalse. -
ignore_throttled -
(Необязательно, логическое значение) Если
true, конкретные, расширенные или псевдонимизированные индексы игнорируются при заморозке. По умолчаниюtrue.[7.16.0] Устарело в 7.16.0.
-
ignore_unavailable - (Необязательно, логическое значение) Если
false, запрос возвращает ошибку, если он обращается к отсутствующему или закрытому индексу. По умолчаниюfalse. -
preference - (Необязательно, строка) Указывает узел или фрагмент, на котором должно выполняться действие. По умолчанию случайным образом.
-
rest_total_hits_as_int - (Необязательно, логическое значение) Если
true, ответ возвращаетhits.totalкак целое число. Если false, он возвращаетhits.totalкак объект. По умолчаниюfalse. -
routing - (Необязательно, строка) Пользовательское значение, используемое для маршрутизации операций на определённый фрагмент.
-
scroll - (Необязательно, единицы измерения времени) Указывает, как долго должна сохраняться согласованная картина индекса для поиска с прокруткой.
-
search_type -
(Необязательно, строка) Тип операции поиска. Доступные варианты:
-
query_then_fetch -
dfs_query_then_fetch
-
-
typed_keys - (Необязательно, логическое значение) Если
true, имена агрегации и подсказок в ответе будут префиксными их типами. По умолчаниюfalse.
Тело запроса
-
explain -
(Необязательно, логическое значение) Если
true, возвращает подробную информацию о вычислении оценки для каждого результата поиска. По умолчаниюfalse.Если вы укажите это и параметр запроса
explain, API будет использовать только параметр запроса.
-
id - (Обязательно*, строка) Идентификатор используемого шаблона поиска. Если не указан
source, этот параметр обязателен. -
params - (Необязательно, объект) Пара пары ключ-значение, используемые для замены переменных Mustache в шаблоне. Ключ — имя переменной. Значение — значение переменной.
-
profile - (Необязательно, логическое значение) Если
true, выполнение запроса будет профилироваться. По умолчаниюfalse. -
source -
(Обязательно*, объект) Встроенный шаблон поиска. Поддерживает те же параметры, что и тело запроса API поиска. Также поддерживает переменные Mustache.
Если не указан
id, этот параметр обязателен.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-template-api.html