API получения отображения полей
Извлекает определения отображения для одного или нескольких полей. Для потоков данных API извлекает отображения полей для базовых индексов потока.
Этот API полезен, если вам не требуется полное отображение или если отображение индекса содержит большое количество полей.
GET /my-index-000001/_mapping/field/user
Запрос
GET /_mapping/field/<field>
GET /<target>/_mapping/field/<field>
Предварительные требования
- Если включены функции безопасности Elasticsearch, у вас должна быть роль
view_index_metadataилиmanageправом на просмотр индексов для целевого потока данных, индекса или алиаса.
Параметры пути
-
<target> - (Необязательно, строка) Список потоков данных, индексов и алиасов, разделенных запятыми, используемый для ограничения запроса. Поддерживает подстановки (
*). Для определения всех потоков данных и индексов опустите этот параметр или используйте*или_all. -
<field> - (Необязательно, строка) Список полей, разделенных запятыми, или выражение с подстановкой, используемое для ограничения возвращаемой информации.
Параметры запроса
-
allow_no_indices -
(Необязательно, логическое значение) Если
false, запрос возвращает ошибку, если любое выражение с подстановкой, алиас индекса или_allзначение определяет только отсутствующие или закрытые индексы. Это поведение применяется даже если запрос направлен на другие открытые индексы. Например, запрос, направленный наfoo*,bar*, возвращает ошибку, если индекс начинается сfoo, но индекс, начинающийся сbar, отсутствует.По умолчанию
true. -
expand_wildcards -
(Необязательно, строка) Тип индекса, которому могут соответствовать шаблоны подстановки. Если запрос может учитывать потоки данных, этот аргумент определяет, соответствуют ли выражения с подстановкой скрытым потокам данных. Поддерживаются значения, разделенные запятыми, например,
open,hidden. Допустимые значения:-
all - Соответствует любому потоку данных или индексу, включая скрытые.
-
open - Соответствует открытым, нескрытым индексам. Также соответствует любому нескрытому потоку данных.
-
closed - Соответствует закрытым, нескрытым индексам. Также соответствует любому нескрытому потоку данных. Потоки данных не могут быть закрыты.
-
hidden - Соответствует скрытым потокам данных и скрытым индексам. Должно использоваться вместе с
open,closedили обоими. -
none - Шаблоны подстановки не принимаются.
-
-
include_type_name - [7.0.0] Устарело в 7.0.0. Типы отображения устарели. См. Удаление типов отображения. (Необязательно, логическое значение) Если
true, в теле отображения ожидается тип отображения. По умолчаниюfalse. -
ignore_unavailable - (Необязательно, логическое значение) Если
false, запрос возвращает ошибку, если он направлен на отсутствующий или закрытый индекс. По умолчаниюfalse. -
include_defaults - (Необязательно, логическое значение) Если
true, ответ включает значения отображения по умолчанию. По умолчаниюfalse. -
local - [7.8.0] Устарело в 7.8.0. Этот параметр является бесполезным, и отображения полей всегда извлекаются локально (Необязательно, логическое значение) Если
true, запрос извлекает информацию только с локального узла. По умолчаниюfalse, что означает, что информация извлекается с узла-мастера.
Примеры
Пример с настройкой индекса
Вы можете указать отображения полей при создании нового индекса. Следующий запрос API создания индекса создает индекс publications с несколькими отображениями полей.
PUT /publications
{
"mappings": {
"properties": {
"id": { "type": "text" },
"title": { "type": "text" },
"abstract": { "type": "text" },
"author": {
"properties": {
"id": { "type": "text" },
"name": { "type": "text" }
}
}
}
}
} Следующий запрос возвращает отображение поля title:
GET publications/_mapping/field/title
API возвращает следующий ответ:
{
"publications": {
"mappings": {
"title": {
"full_name": "title",
"mapping": {
"title": {
"type": "text"
}
}
}
}
}
} Указание полей
API получения отображения позволяет указать список полей, разделенных запятыми.
Например, чтобы выбрать id поля author, необходимо использовать его полное имя author.id.
GET publications/_mapping/field/author.id,abstract,name
возвращает:
{
"publications": {
"mappings": {
"author.id": {
"full_name": "author.id",
"mapping": {
"id": {
"type": "text"
}
}
},
"abstract": {
"full_name": "abstract",
"mapping": {
"abstract": {
"type": "text"
}
}
}
}
}
} API получения отображения полей также поддерживает подстановку.
GET publications/_mapping/field/a*
возвращает:
{
"publications": {
"mappings": {
"author.name": {
"full_name": "author.name",
"mapping": {
"name": {
"type": "text"
}
}
},
"abstract": {
"full_name": "abstract",
"mapping": {
"abstract": {
"type": "text"
}
}
},
"author.id": {
"full_name": "author.id",
"mapping": {
"id": {
"type": "text"
}
}
}
}
}
} Несколько целей и полей
API получения отображения полей может использоваться для получения отображений для нескольких полей из нескольких потоков данных или индексов одним запросом.
Параметры пути <target> и <field> оба поддерживают списки, разделенные запятыми, и выражения с подстановкой.
Вы можете опустить параметр <target> или использовать значение * или _all для определения всех потоков данных и индексов в кластере.
Аналогично, вы можете опустить параметр <field> или использовать значение * для извлечения отображений всех полей в целевых потоках данных или индексах. Однако параметр <field> не поддерживает значение _all.
Например, следующий запрос извлекает отображения поля message в любом потоке данных или индексе с именем my-index-000001 или my-index-000002.
GET /my-index-000001,my-index-000002/_mapping/field/message
Следующий запрос извлекает отображения полей message и user.id в любом потоке данных или индексе в кластере.
GET /_all/_mapping/field/message
Следующий запрос извлекает отображения полей с свойством id в любом потоке данных или индексе в кластере.
GET /_all/_mapping/field/*.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/7.17/indices-get-field-mapping.html