Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›REST API ›Search API

API подсчёта

Получает количество совпадений для запроса.

GET /my-index-000001/_count?q=user:kimchy

Запрос, отправляемый в теле, должен быть вложен в ключ query, как и в API поиска.

Запрос

GET /<target>/_count

Предварительные условия

  • Если включены средства безопасности Elasticsearch, у вас должны быть права read на целевой поток данных, индекс или псевдоним.

Описание

API подсчёта позволяет выполнить запрос и получить количество совпадений по этому запросу. Запрос можно указать, используя простую строку запроса в качестве параметра или используя Query DSL в теле запроса.

API подсчёта поддерживает синтаксис для нескольких целей. Вы можете выполнить один запрос подсчёта по нескольким потокам данных и индексам.

Операция транслируется по всем фрагментам. Для каждой группы идентификаторов фрагментов выбирается репликация и выполняется на ней. Это означает, что реплики повышают масштабируемость подсчёта.

Параметры пути

<target>
(Необязательно, строка) Список потоков данных, индексов и псевдонимов для поиска, разделённый запятыми. Поддерживаются подстановочные знаки (*). Чтобы выполнить поиск по всем потокам данных и индексам, опустите этот параметр или используйте * или _all.

Параметры запроса

allow_no_indices

(Необязательно, булево) Если false, запрос возвращает ошибку, если любое выражение с подстановкой, индексный псевдоним или _all значение указывают только отсутствующие или закрытые индексы. Это поведение применяется даже если запрос нацелен на другие открытые индексы. Например, запрос, нацеленный на foo*,bar*, возвращает ошибку, если индекс начинается с foo, но ни один индекс не начинается с bar.

По умолчанию true.

analyzer

(Необязательно, строка) Анализатор для использования в строке запроса.

Этот параметр можно использовать только при указании параметра строки запроса q.

analyze_wildcard

(Необязательно, булево) Если true, запросы с подстановкой и префиксом анализируются. По умолчанию false.

Этот параметр можно использовать только при указании параметра строки запроса q.

default_operator

(Необязательно, строка) Оператор по умолчанию для запроса по строке: AND или OR. По умолчанию OR.

Этот параметр можно использовать только при указании параметра строки запроса q.

df

(Необязательно, строка) Поле, используемое по умолчанию, когда в строке запроса нет префикса поля.

Этот параметр можно использовать только при указании параметра строки запроса q.

expand_wildcards

(Необязательно, строка) Тип индекса, с которым могут совпадать шаблоны с подстановкой. Если запрос может нацеливаться на потоки данных, этот аргумент определяет, соответствуют ли выражения с подстановкой скрытым потокам данных. Поддерживаются значения, разделённые запятыми, например, open,hidden. Допустимые значения:

all
Совпадение с любым потоком данных или индексом, включая скрытые.
open
Совпадение с открытыми, нескрытыми индексами. Также соответствует любому нескрытому потоку данных.
closed
Совпадение с закрытыми, нескрытыми индексами. Также соответствует любому нескрытому потоку данных. Потоки данных не могут быть закрыты.
hidden
Совпадение со скрытыми потоками данных и скрытыми индексами. Должен быть объединён с open, closed или обоими.
none
Шаблоны с подстановкой не принимаются.

По умолчанию open.

ignore_throttled
(Необязательно, булево) Если true, конкретные, расширенные или псевдонимизированные индексы игнорируются при замораживании. По умолчанию true.
ignore_unavailable
(Необязательно, булево) Если false, запрос возвращает ошибку, если он нацелен на отсутствующий или закрытый индекс. По умолчанию false.
lenient

(Необязательно, булево) Если true, сбои в запросе по строке, основанные на формате (например, предоставление текста числовому полю), игнорируются. По умолчанию false.

Этот параметр можно использовать только при указании параметра строки запроса q.

min_score
(Необязательно, float) Устанавливает минимальное значение _score, которое должны иметь документы, чтобы быть включёнными в результат.
preference
(Необязательно, строка) Указывает узел или фрагмент, на котором должна выполняться операция. По умолчанию случайный.
q
(Необязательно, строка) Запрос в синтаксисе строки запроса Lucene.
routing
(Необязательно, строка) Пользовательское значение, используемое для маршрутизации операций на определённый фрагмент.
terminate_after

(Необязательно, целое число) Максимальное количество документов для сбора на каждом фрагменте. Если запрос достигнет этого предела, Elasticsearch прерывает запрос раньше. Elasticsearch собирает документы до сортировки.

Используйте с осторожностью. Elasticsearch применяет этот параметр к каждому фрагменту, обрабатывающему запрос. Когда это возможно, позвольте Elasticsearch выполнять раннее завершение автоматически. Избегайте указания этого параметра для запросов, которые нацелены на потоки данных с поддерживающими индексами через несколько уровней данных.

Тело запроса

query
(Необязательно, объект запроса) Определяет определение поиска, используя Query DSL.

Примеры

PUT /my-index-000001/_doc/1?refresh
{
  "user.id": "kimchy"
}

GET /my-index-000001/_count?q=user:kimchy

GET /my-index-000001/_count
{
  "query" : {
    "term" : { "user.id" : "kimchy" }
  }
}

Оба примера делают одно и то же: подсчитывают количество документов в my-index-000001 с user.id kimchy. API возвращает следующий ответ:

{
  "count": 1,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  }
}

Запрос необязателен, и при его отсутствии он будет использовать match_all для подсчёта всех документов.

© 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/7.17/search-count.html

Spec-Zone.ru

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