Инструмент для автоматического создания документации по индексу elasti c - PullRequest
4 голосов
/ 29 мая 2020

У меня есть проект на Kibana / Elasti c. Я могу видеть / управлять индексами и видеть поля и типы значений с помощью GET <index>/_mapping.

Другие члены (в частности, менеджеры) в моей команде не имеют доступа к Kibana и мне нужно написать для них некоторую документацию . По сути, мне нужно дать им представление о том, что находится в индексах.

Я обнаружил, что копирую, вставляя и упрощая (удаляя некоторые не очень информативные слои) json -подобный вывод GET <index>/_mapping. Это не лучший процесс.

Есть ли инструмент, который автоматизирует это и обеспечивает синхронизацию между БД и документацией?

1 Ответ

2 голосов
/ 31 мая 2020

Я не знаю ни одного инструмента, который бы это автоматизировал. Самый простой способ, IMO, - создать одностраничное веб-приложение, которое подключается к ES и вызывает

GET _all/_mapping?format=yaml

, которое вернет что-то вроде

myindex:
  mappings:
    properties:
      date1:
        type: "date"
      date2:
        type: "date"
      date3:
        type: "date"
      status:
        type: "text"
        fields:
          keyword:
            type: "keyword"
            ignore_above: 256

, которое уже более читабельно, чем JSON.


Пройдя еще один шаг, вы можете добавить раскрывающийся список с множественным выбором для фильтрации определенных полей c, например:

GET _all/_mapping/field/name,color?format=yaml

, который будет возвращать что-то вместе строки

online_shop:
  mappings:
    color:
      full_name: "color"
      mapping:
        color:
          type: "keyword"
    name:
      full_name: "name"
      mapping:
        name:
          type: "text"
          fields:
            keyword:
              type: "keyword"
...