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

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

Spec-Zone.ru

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