Spec-Zone.ru › Elasticsearch 8
›Руководство по Elasticsearch [8.17] ›REST API ›API индексов

API статистики использования полей

Эта функциональность находится в техническом превью и может быть изменена или удалена в будущих релизах. Elastic будет работать над исправлением любых проблем, но функции в техническом превью не подпадают под SLA поддержки официальных функций GA.

Новая справка по API

Для получения самых актуальных данных по API обратитесь к API индексов.

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

resp = client.indices.field_usage_stats(
    index="my-index-000001",
)
print(resp)
response = client.indices.field_usage_stats(
  index: 'my-index-000001'
)
puts response
const response = await client.indices.fieldUsageStats({
  index: "my-index-000001",
});
console.log(response);
GET /my-index-000001/_field_usage_stats

Запрос

GET /<index>/_field_usage_stats

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

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

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

<index>
(Необязательно, строка) Список имён индексов через запятую или выражение с подстановкой, используемое для ограничения запроса.

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

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

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

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

(Необязательно, строка) Количество копий каждого фрагмента, которое должно быть активным перед продолжением операции. Установите значение all или любое неотрицательное целое число до общего количества копий каждого фрагмента в индексе (number_of_replicas+1). По умолчанию 1, что означает ожидание активации только каждого первичного фрагмента.

См. Активные фрагменты.

fields

(Необязательно, строка) Список полей через запятую или выражения с подстановкой, которые следует включить в статистику.

Тело ответа

Тело ответа сообщает счёт использования на уровне каждого фрагмента структур данных, которые лежат в основе полей в индексе. Данный запрос увеличит каждый счёт на максимальное значение 1, даже если запрос обращается к одному и тому же полю несколько раз.

any
(целое число) Обозначает любой вид использования поля (например, через обратный индекс, сохранённые поля, значения документов и т. д.) таким образом, что любое использование учитывается один раз для данного запроса поиска.
inverted_index

(объект) Обратный индекс включён параметром index в маппинге и настроен установкой параметра index_options для поля.

Свойства inverted_index:
terms
(целое число) Обозначает использования терминов в обратном индексе, отвечая на вопрос "Используется ли обратный индекс этого поля?".
postings
(целое число) Обозначает использование списка ссылок, который содержит идентификаторы документов для заданного термина.
proximity
(целое число) Обозначает любой вид использования позиций, смещений или платежей в обратном индексе таким образом, что любое использование учитывается один раз для данного запроса поиска.
positions
(целое число) Обозначает использование данных позиции (порядка термина) в обратном индексе.
term_frequencies
(целое число) Обозначает использование частот терминов в обратном индексе, которые используются для вычисления оценок.
offsets
(целое число) Обозначает использование смещений в обратном индексе, которые хранят начальные и конечные смещения символов терминов.
payloads
(целое число) Обозначает использование платежей в обратном индексе, например, через фильтр разделителей платежей, или пользовательскими компонентами и плагинами анализа.
stored_fields
(целое число) Обозначает использование сохранённых полей. Они включены параметром store маппинга и доступны при указании параметра stored_fields запроса. Обратите внимание, что поля _source и _id по умолчанию хранятся и их использование учитывается здесь.
doc_values
(целое число) Обозначает использование значений документов, которые в основном используются для сортировки и агрегирования. Они включены параметром doc_values маппинга.
points
(целое число) Обозначает использование Lucene PointValues, которые являются основой большинства числовых типов данных полей, включая пространственные типы данных, числа, даты и другие. Они используются запросами/агрегациями для диапазонов, подсчётов, группировки, мин/макс, гистограмм, пространственных и т. д.
norms
(целое число) Обозначает использование норм, которые содержат значения усиления индексирования, используемые для расчёта оценок.
term_vectors
(целое число) Обозначает использование векторов терминов, которые позволяют получать термины документа во время поиска. Использование включает выделение и запрос "Ещё подобное этому".
knn_vectors
(целое число) Обозначает использование типа поля knn_vectors, в основном используемого для поиска k ближайших соседей (kNN).

Примеры

Следующий запрос получает информацию об использовании полей индекса my-index-000001 на доступных фрагментах.

resp = client.indices.field_usage_stats(
    index="my-index-000001",
)
print(resp)
response = client.indices.field_usage_stats(
  index: 'my-index-000001'
)
puts response
const response = await client.indices.fieldUsageStats({
  index: "my-index-000001",
});
console.log(response);
GET /my-index-000001/_field_usage_stats

API возвращает следующий ответ:

{
    "_shards": {
        "total": 1,
        "successful": 1,
        "failed": 0
    },
    "my-index-000001": {
        "shards": [
            {
                "tracking_id": "MpOl0QlTQ4SYYhEe6KgJoQ",
                "tracking_started_at_millis": 1625558985010,
                "routing": {
                    "state": "STARTED",
                    "primary": true,
                    "node": "gA6KeeVzQkGURFCUyV-e8Q",
                    "relocating_node": null
                },
                "stats" : {
                    "all_fields": { 
                        "any": "6",
                        "inverted_index": {
                            "terms" : 1,
                            "postings" : 1,
                            "proximity" : 1,
                            "positions" : 0,
                            "term_frequencies" : 1,
                            "offsets" : 0,
                            "payloads" : 0
                        },
                        "stored_fields" : 2,
                        "doc_values" : 1,
                        "points" : 0,
                        "norms" : 1,
                        "term_vectors" : 0,
                        "knn_vectors" : 0
                    },
                    "fields": {
                        "_id": { 
                            "any" : 1,
                            "inverted_index": {
                                "terms" : 1,
                                "postings" : 1,
                                "proximity" : 1,
                                "positions" : 0,
                                "term_frequencies" : 1,
                                "offsets" : 0,
                                "payloads" : 0
                            },
                            "stored_fields" : 1,
                            "doc_values" : 0,
                            "points" : 0,
                            "norms" : 0,
                            "term_vectors" : 0,
                            "knn_vectors" : 0
                        },
                        "_source": {...},
                        "context": {...},
                        "message.keyword": {...}
                    }
                }
            }
        ]
    }
}

Отчитывается о суммах подсчетов использования для всех полей в индексе (на указанном фрагменте).

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

© 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/field-usage-stats.html

Spec-Zone.ru

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