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

API поиска структуры сообщений

Справочник нового API

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

Поиск структуры списка текстовых сообщений.

Запрос

GET _text_structure/find_message_structure
POST _text_structure/find_message_structure

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

  • Если включены функции безопасности Elasticsearch, вам необходимо иметь monitor_text_structure или monitor привилегии кластера, чтобы использовать этот API. См. Привилегии безопасности.

Описание

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

Ответ API содержит:

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

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

Подробности вывода можно увидеть в примерах.

Если поиск структуры даёт неожиданные результаты, укажите параметр запроса explain, и в ответе появится explanation. Это помогает определить, почему была выбрана возвращённая структура.

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

column_names
(Необязательно, строка) Если вы установили format в delimited, вы можете указать имена столбцов в виде списка, разделённого запятыми. Если этот параметр не указан, поисковик структуры использует имена столбцов из первой строки текста. Если в тексте нет заголовка, столбцы будут именоваться "column1", "column2", "column3" и т.д.
delimiter
(Необязательно, строка) Если вы установили format в delimited, вы можете указать символ, используемый для разграничения значений в каждой строке. Поддерживается только один символ; разделитель не может состоять из нескольких символов. По умолчанию API рассматривает следующие варианты: запятая, табуляция, точка с запятой и вертикальная черта (|). В этом сценарии по умолчанию все строки должны иметь одинаковое количество полей для распознавания разделимого формата. Если вы укажете разделитель, до 10% строк могут иметь другое количество столбцов, чем первая строка.
explain
(Необязательно, булево значение) Если true, ответ включает поле с именем explanation, которое представляет собой массив строк, указывающих, как поисковик структуры произвёл свой результат. Значение по умолчанию — false.
format
(Необязательно, строка) Общая структура текста. Допустимые значения: ndjson, xml, delimited и semi_structured_text. По умолчанию API выбирает формат. В этом сценарии по умолчанию все строки должны иметь одинаковое количество полей для распознавания разделимого формата. Если format установлено в delimited, а delimiter не установлено, однако API допускает до 5% строк, которые имеют разное количество столбцов по сравнению с первой строкой.
grok_pattern
(Необязательно, строка) Если вы установили format в semi_structured_text, вы можете указать шаблон Grok, используемый для извлечения полей из каждого сообщения в тексте. Имя поля метки времени в шаблоне Grok должно совпадать с тем, что указано в параметре timestamp_field. Если этот параметр не указан, имя поля метки времени в шаблоне Grok должно совпадать с "timestamp". Если grok_pattern не указан, поисковик структуры создаёт шаблон Grok.
ecs_compatibility
(Необязательно, строка) Режим совместимости с шаблонами Grok, совместимыми с ECS. Используйте этот параметр, чтобы указать, следует ли использовать шаблоны Grok ECS вместо устаревших, когда поисковик структуры создаёт шаблон Grok. Допустимые значения: disabled и v1. Значение по умолчанию: disabled. Эта настройка в основном влияет, когда весь шаблон Grok сообщения, такой как %{CATALINALOG}, соответствует вводу. Если поисковик структуры идентифицирует общую структуру, но не имеет представления о её значении, в выходных данных grok_pattern используются общие имена полей, такие как path, ipaddress, field1 и field2, с намерением, чтобы пользователь, знающий значения, переименовал эти поля перед использованием.
quote
(Необязательно, строка) Если вы установили format в delimited, вы можете указать символ, используемый для кавычек значений в каждой строке, если они содержат новые строки или символ разделителя. Поддерживается только один символ. Если этот параметр не указан, значение по умолчанию — двойная кавычка ("). Если ваш разделимый текстовый формат не использует кавычки, решением является установка этого аргумента на символ, который не встречается в образце.
should_trim_fields
(Необязательно, булево значение) Если вы установили format в delimited, вы можете указать, следует ли обрезать пробелы из значений между разделителями. Если этот параметр не указан, а разделитель — вертикальная черта (|), значение по умолчанию — true. В противном случае значение по умолчанию — false.
timeout
(Необязательно, единицы измерения времени) Устанавливает максимальное время, которое может занять анализ структуры. Если анализ всё ещё выполняется при истечении таймаута, он будет остановлен. Значение по умолчанию — 25 секунд.
timestamp_field

(Необязательно, строка) Имя поля, содержащего основную метку времени каждого записываемого элемента в тексте. В частности, если текст был бы загружен в индекс, это поле использовалось бы для заполнения поля @timestamp.

Если format равен semi_structured_text, это поле должно соответствовать имени соответствующего извлечения в grok_pattern. Таким образом, для полуструктурированного текста лучше не указывать этот параметр, если также не указан grok_pattern.

Для структурированного текста, если вы укажете этот параметр, поле должно существовать в тексте.

Если этот параметр не указан, поисковик структуры принимает решение о том, какое поле (если есть) является основным полем метки времени. Для структурированного текста наличие метки времени в тексте не является обязательным.

timestamp_format

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

Поддерживается лишь подмножество буквенных групп формата времени Java:

  • a
  • d
  • dd
  • EEE
  • EEEE
  • H
  • HH
  • h
  • M
  • MM
  • MMM
  • MMMM
  • mm
  • ss
  • XX
  • XXX
  • yy
  • yyyy
  • zzz

Кроме того, S буквенных групп (дробные секунды) длиной от одной до девяти поддерживаются, если они появляются после ss и отделены от ss знаком ., , или :. Также допускаются пробелы и знаки препинания, за исключением ?, новой строки и возврата каретки, вместе с буквальным текстом, заключённым в одинарные кавычки. Например, MM/dd HH.mm.ss,SSSSSS 'in' yyyy — это допустимый формат переопределения.

Одно из полезных применений этого параметра — когда формат — полуструктурированный текст, в тексте несколько форматов меток времени, и вы знаете, какой формат соответствует основной метке времени, но не хотите указывать полный grok_pattern. Другой случай — когда формат метки времени не рассматривается поисковиком структуры по умолчанию.

Если этот параметр не указан, поисковик структуры выбирает лучший формат из встроенного набора.

Если указано специальное значение null, поисковик структуры не будет искать основную метку времени в тексте. При полуструктурированном формате это означает, что поисковик структуры будет обрабатывать текст как однострочные сообщения.

В следующей таблице приведены соответствующие значения timeformat для некоторых примеров меток времени:

Timeformat Представление

yyyy-MM-dd HH:mm:ssZ

2019-04-20 13:15:22+0000

EEE, d MMM yyyy HH:mm:ss Z

Сб, 20 апр 2019 13:15:22 +0000

dd.MM.yy HH:mm:ss.SSS

20.04.19 13:15:22.285

Для получения дополнительной информации о синтаксисе формата даты и времени обратитесь к документации Java по формату даты/времени.

Тело запроса

messages
(Обязательно, массив строк) Список сообщений, которые вы хотите проанализировать.

Примеры

Анализ журнальных файлов Elasticsearch

Предположим, у вас есть список сообщений журналов Elasticsearch. Вы можете отправить его на конечную точку find_message_structure следующим образом:

resp = client.text_structure.find_message_structure(
    messages=[
        "[2024-03-05T10:52:36,256][INFO ][o.a.l.u.VectorUtilPanamaProvider] [laptop] Java vector incubator API enabled; uses preferredBitSize=128",
        "[2024-03-05T10:52:41,038][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [repository-url]",
        "[2024-03-05T10:52:41,042][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [rest-root]",
        "[2024-03-05T10:52:41,043][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-core]",
        "[2024-03-05T10:52:41,043][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-redact]",
        "[2024-03-05T10:52:41,043][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [ingest-user-agent]",
        "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-monitoring]",
        "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [repository-s3]",
        "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-analytics]",
        "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-ent-search]",
        "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-autoscaling]",
        "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [lang-painless]]",
        "[2024-03-05T10:52:41,059][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [lang-expression]",
        "[2024-03-05T10:52:41,059][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-eql]",
        "[2024-03-05T10:52:43,291][INFO ][o.e.e.NodeEnvironment    ] [laptop] heap size [16gb], compressed ordinary object pointers [true]",
        "[2024-03-05T10:52:46,098][INFO ][o.e.x.s.Security         ] [laptop] Security is enabled",
        "[2024-03-05T10:52:47,227][INFO ][o.e.x.p.ProfilingPlugin  ] [laptop] Profiling is enabled",
        "[2024-03-05T10:52:47,259][INFO ][o.e.x.p.ProfilingPlugin  ] [laptop] profiling index templates will not be installed or reinstalled",
        "[2024-03-05T10:52:47,755][INFO ][o.e.i.r.RecoverySettings ] [laptop] using rate limit [40mb] with [default=40mb, read=0b, write=0b, max=0b]",
        "[2024-03-05T10:52:47,787][INFO ][o.e.d.DiscoveryModule    ] [laptop] using discovery type [multi-node] and seed hosts providers [settings]",
        "[2024-03-05T10:52:49,188][INFO ][o.e.n.Node               ] [laptop] initialized",
        "[2024-03-05T10:52:49,199][INFO ][o.e.n.Node               ] [laptop] starting ..."
    ],
)
print(resp)
response = client.text_structure.find_message_structure(
  body: {
    messages: [
      '[2024-03-05T10:52:36,256][INFO ][o.a.l.u.VectorUtilPanamaProvider] [laptop] Java vector incubator API enabled; uses preferredBitSize=128',
      '[2024-03-05T10:52:41,038][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [repository-url]',
      '[2024-03-05T10:52:41,042][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [rest-root]',
      '[2024-03-05T10:52:41,043][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-core]',
      '[2024-03-05T10:52:41,043][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-redact]',
      '[2024-03-05T10:52:41,043][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [ingest-user-agent]',
      '[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-monitoring]',
      '[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [repository-s3]',
      '[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-analytics]',
      '[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-ent-search]',
      '[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-autoscaling]',
      '[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [lang-painless]]',
      '[2024-03-05T10:52:41,059][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [lang-expression]',
      '[2024-03-05T10:52:41,059][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-eql]',
      '[2024-03-05T10:52:43,291][INFO ][o.e.e.NodeEnvironment    ] [laptop] heap size [16gb], compressed ordinary object pointers [true]',
      '[2024-03-05T10:52:46,098][INFO ][o.e.x.s.Security         ] [laptop] Security is enabled',
      '[2024-03-05T10:52:47,227][INFO ][o.e.x.p.ProfilingPlugin  ] [laptop] Profiling is enabled',
      '[2024-03-05T10:52:47,259][INFO ][o.e.x.p.ProfilingPlugin  ] [laptop] profiling index templates will not be installed or reinstalled',
      '[2024-03-05T10:52:47,755][INFO ][o.e.i.r.RecoverySettings ] [laptop] using rate limit [40mb] with [default=40mb, read=0b, write=0b, max=0b]',
      '[2024-03-05T10:52:47,787][INFO ][o.e.d.DiscoveryModule    ] [laptop] using discovery type [multi-node] and seed hosts providers [settings]',
      '[2024-03-05T10:52:49,188][INFO ][o.e.n.Node               ] [laptop] initialized',
      '[2024-03-05T10:52:49,199][INFO ][o.e.n.Node               ] [laptop] starting ...'
    ]
  }
)
puts response
const response = await client.transport.request({
  method: "POST",
  path: "/_text_structure/find_message_structure",
  body: {
    messages: [
      "[2024-03-05T10:52:36,256][INFO ][o.a.l.u.VectorUtilPanamaProvider] [laptop] Java vector incubator API enabled; uses preferredBitSize=128",
      "[2024-03-05T10:52:41,038][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [repository-url]",
      "[2024-03-05T10:52:41,042][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [rest-root]",
      "[2024-03-05T10:52:41,043][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-core]",
      "[2024-03-05T10:52:41,043][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-redact]",
      "[2024-03-05T10:52:41,043][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [ingest-user-agent]",
      "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-monitoring]",
      "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [repository-s3]",
      "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-analytics]",
      "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-ent-search]",
      "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-autoscaling]",
      "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [lang-painless]]",
      "[2024-03-05T10:52:41,059][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [lang-expression]",
      "[2024-03-05T10:52:41,059][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-eql]",
      "[2024-03-05T10:52:43,291][INFO ][o.e.e.NodeEnvironment    ] [laptop] heap size [16gb], compressed ordinary object pointers [true]",
      "[2024-03-05T10:52:46,098][INFO ][o.e.x.s.Security         ] [laptop] Security is enabled",
      "[2024-03-05T10:52:47,227][INFO ][o.e.x.p.ProfilingPlugin  ] [laptop] Profiling is enabled",
      "[2024-03-05T10:52:47,259][INFO ][o.e.x.p.ProfilingPlugin  ] [laptop] profiling index templates will not be installed or reinstalled",
      "[2024-03-05T10:52:47,755][INFO ][o.e.i.r.RecoverySettings ] [laptop] using rate limit [40mb] with [default=40mb, read=0b, write=0b, max=0b]",
      "[2024-03-05T10:52:47,787][INFO ][o.e.d.DiscoveryModule    ] [laptop] using discovery type [multi-node] and seed hosts providers [settings]",
      "[2024-03-05T10:52:49,188][INFO ][o.e.n.Node               ] [laptop] initialized",
      "[2024-03-05T10:52:49,199][INFO ][o.e.n.Node               ] [laptop] starting ...",
    ],
  },
});
console.log(response);
POST _text_structure/find_message_structure
{
  "messages": [
    "[2024-03-05T10:52:36,256][INFO ][o.a.l.u.VectorUtilPanamaProvider] [laptop] Java vector incubator API enabled; uses preferredBitSize=128",
    "[2024-03-05T10:52:41,038][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [repository-url]",
    "[2024-03-05T10:52:41,042][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [rest-root]",
    "[2024-03-05T10:52:41,043][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-core]",
    "[2024-03-05T10:52:41,043][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-redact]",
    "[2024-03-05T10:52:41,043][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [ingest-user-agent]",
    "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-monitoring]",
    "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [repository-s3]",
    "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-analytics]",
    "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-ent-search]",
    "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-autoscaling]",
    "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [lang-painless]]",
    "[2024-03-05T10:52:41,059][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [lang-expression]",
    "[2024-03-05T10:52:41,059][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-eql]",
    "[2024-03-05T10:52:43,291][INFO ][o.e.e.NodeEnvironment    ] [laptop] heap size [16gb], compressed ordinary object pointers [true]",
    "[2024-03-05T10:52:46,098][INFO ][o.e.x.s.Security         ] [laptop] Security is enabled",
    "[2024-03-05T10:52:47,227][INFO ][o.e.x.p.ProfilingPlugin  ] [laptop] Profiling is enabled",
    "[2024-03-05T10:52:47,259][INFO ][o.e.x.p.ProfilingPlugin  ] [laptop] profiling index templates will not be installed or reinstalled",
    "[2024-03-05T10:52:47,755][INFO ][o.e.i.r.RecoverySettings ] [laptop] using rate limit [40mb] with [default=40mb, read=0b, write=0b, max=0b]",
    "[2024-03-05T10:52:47,787][INFO ][o.e.d.DiscoveryModule    ] [laptop] using discovery type [multi-node] and seed hosts providers [settings]",
    "[2024-03-05T10:52:49,188][INFO ][o.e.n.Node               ] [laptop] initialized",
    "[2024-03-05T10:52:49,199][INFO ][o.e.n.Node               ] [laptop] starting ..."
  ]
}

Если запрос не столкнётся с ошибками, вы получите следующий результат:

{
  "num_lines_analyzed" : 22,
  "num_messages_analyzed" : 22,
  "sample_start" : "[2024-03-05T10:52:36,256][INFO ][o.a.l.u.VectorUtilPanamaProvider] [laptop] Java vector incubator API enabled; uses preferredBitSize=128\n[2024-03-05T10:52:41,038][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [repository-url]\n", 
  "charset" : "UTF-8",
  "format" : "semi_structured_text",
  "multiline_start_pattern" : "^\\[\\b\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}",
  "grok_pattern" : "\\[%{TIMESTAMP_ISO8601:timestamp}\\]\\[%{LOGLEVEL:loglevel} \\]\\[.*",
  "ecs_compatibility" : "disabled",
  "timestamp_field" : "timestamp",
  "joda_timestamp_formats" : [
    "ISO8601"
  ],
  "java_timestamp_formats" : [
    "ISO8601"
  ],
  "need_client_timezone" : true,
  "mappings" : {
    "properties" : {
      "@timestamp" : {
        "type" : "date"
      },
      "loglevel" : {
        "type" : "keyword"
      },
      "message" : {
        "type" : "text"
      }
    }
  },
  "ingest_pipeline" : {
    "description" : "Ingest pipeline created by text structure finder",
    "processors" : [
      {
        "grok" : {
          "field" : "message",
          "patterns" : [
            "\\[%{TIMESTAMP_ISO8601:timestamp}\\]\\[%{LOGLEVEL:loglevel} \\]\\[.*"
          ],
          "ecs_compatibility" : "disabled"
        }
      },
      {
        "date" : {
          "field" : "timestamp",
          "timezone" : "{{ event.timezone }}",
          "formats" : [
            "ISO8601"
          ]
        }
      },
      {
        "remove" : {
          "field" : "timestamp"
        }
      }
    ]
  },
  "field_stats" : {
    "loglevel" : {
      "count" : 22,
      "cardinality" : 1,
      "top_hits" : [
        {
          "value" : "INFO",
          "count" : 22
        }
      ]
    },
    "message" : {
      "count" : 22,
      "cardinality" : 22,
      "top_hits" : [
        {
          "value" : "[2024-03-05T10:52:36,256][INFO ][o.a.l.u.VectorUtilPanamaProvider] [laptop] Java vector incubator API enabled; uses preferredBitSize=128",
          "count" : 1
        },
        {
          "value" : "[2024-03-05T10:52:41,038][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [repository-url]",
          "count" : 1
        },
        {
          "value" : "[2024-03-05T10:52:41,042][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [rest-root]",
          "count" : 1
        },
        {
          "value" : "[2024-03-05T10:52:41,043][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [ingest-user-agent]",
          "count" : 1
        },
        {
          "value" : "[2024-03-05T10:52:41,043][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-core]",
          "count" : 1
        },
        {
          "value" : "[2024-03-05T10:52:41,043][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-redact]",
          "count" : 1
        },
        {
          "value" : "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [lang-painless]]",
          "count" : 1
        },
        {
          "value" : "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [repository-s3]",
          "count" : 1
        },
        {
          "value" : "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-analytics]",
          "count" : 1
        },
        {
          "value" : "[2024-03-05T10:52:41,044][INFO ][o.e.p.PluginsService     ] [laptop] loaded module [x-pack-autoscaling]",
          "count" : 1
        }
      ]
    },
    "timestamp" : {
      "count" : 22,
      "cardinality" : 14,
      "earliest" : "2024-03-05T10:52:36,256",
      "latest" : "2024-03-05T10:52:49,199",
      "top_hits" : [
        {
          "value" : "2024-03-05T10:52:41,044",
          "count" : 6
        },
        {
          "value" : "2024-03-05T10:52:41,043",
          "count" : 3
        },
        {
          "value" : "2024-03-05T10:52:41,059",
          "count" : 2
        },
        {
          "value" : "2024-03-05T10:52:36,256",
          "count" : 1
        },
        {
          "value" : "2024-03-05T10:52:41,038",
          "count" : 1
        },
        {
          "value" : "2024-03-05T10:52:41,042",
          "count" : 1
        },
        {
          "value" : "2024-03-05T10:52:43,291",
          "count" : 1
        },
        {
          "value" : "2024-03-05T10:52:46,098",
          "count" : 1
        },
        {
          "value" : "2024-03-05T10:52:47,227",
          "count" : 1
        },
        {
          "value" : "2024-03-05T10:52:47,259",
          "count" : 1
        }
      ]
    }
  }
}

Для подробного описания формата ответа или дополнительных примеров по загрузке текстовых данных, разделённых разделителями (например, CSV) или JSON, разделённых символом новой строки, обратитесь к примерам конечной точки поиска структуры текста.

© 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/find-message-structure.html

Spec-Zone.ru

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