Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›REST API ›Search API

API шаблонов поиска

Справочник по новым API

Для получения самых актуальных данных по API обратитесь к Search 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API