Что такое Elasticsearch?

Что такое Elasticsearch?

Проще говоря, наша цель — помочь каждому быстрее найти то, что ему нужно: от сотрудников, которым нужны документы в их внутренней сети, до клиентов, совершающих покупки в Интернете в поисках подходящей им обуви. Но с более технической точки зрения это примерно описывается так:

Elasticsearch — это бесплатная и открытая распределенная система поиска и аналитики для всех типов данных, включая текстовые, числовые, геопространственные, структурированные и неструктурированные данные и многое другое. Elasticsearch был разработан на основе Apache Lucene и впервые выпущен в 2010 году компанией Elasticsearch NV (теперь Elastic). Elasticsearch, известный своим простым API в стиле REST, распределенным характером, скоростью и масштабируемостью, является основным компонентом Elastic Stack — набора бесплатных инструментов с открытым исходным кодом для сбора, расширения, хранения, анализа и визуализации данных. Люди обычно называют Elastic Stack стеком ELK (имея в виду Elasticsearch, Logstash и Kibana).В настоящее время Elastic Stack включает в себя серию многофункциональных и легких агентов сбора данных, которые вместе называются Beats, которые можно использовать для отправки данных в Elasticsearch.

Для чего используется Elasticsearch?

Elasticsearch отличается скоростью и масштабируемостью, а его способность индексировать многие типы контента означает, что его можно использовать в самых разных случаях:

  • поиск приложений
  • поиск по сайту
  • поиск предприятия
  • Обработка и анализ журналов
  • Метрики инфраструктуры и мониторинг контейнеров
  • Мониторинг производительности приложений
  • Анализ и визуализация геопространственных данных
  • анализ безопасности
  • бизнес-анализ

Как работает Elasticsearch?

Необработанные данные передаются в Elasticsearch из нескольких источников, включая журналы, системные метрики и веб-приложения. Прием данных — это процесс анализа, нормализации и обогащения необработанных данных перед их индексацией в Elasticsearch . Как только эти данные будут проиндексированы в Elasticsearch, пользователи смогут выполнять сложные запросы к своим данным и использовать агрегаты для получения сложных сводок своих данных. В Kibana пользователи могут создавать мощные визуализации на основе собственных данных, совместно использовать информационные панели и управлять Elastic Stack.

Что такое индексы Elasticsearch?

Индекс Elasticsearch  — это набор связанных документов. Elasticsearch хранит данные в виде документов JSON. Каждый документ устанавливает связь между набором ключей (именами полей или свойств) и соответствующими им значениями (строками, числами, логическими значениями, датами, группами чисел , географическими местоположениями или другими типами данных).

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

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

Для чего используется Logstash?

Logstash — один из основных продуктов Elastic Stack, который можно использовать для агрегирования и обработки данных, а также отправки их в Elasticsearch. Logstash — это конвейер обработки данных на стороне сервера с открытым исходным кодом, который позволяет одновременно получать данные из нескольких источников, обогащать и преобразовывать их перед индексацией в Elasticsearch.

Для чего используется Кибана?

Kibana — это инструмент визуализации и управления данными для Elasticsearch, который предоставляет гистограммы, линейные графики, круговые диаграммы и карты в реальном времени. Kibana также включает в себя расширенные приложения, такие как Canvas и Elastic Maps; Canvas позволяет пользователям создавать собственную динамическую инфографику на основе собственных данных, а Elastic Maps можно использовать для визуализации геопространственных данных.

Зачем использовать Elasticsearch?

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

Elasticsearch распространен в природе. Документы, хранящиеся в Elasticsearch, распределяются по разным контейнерам, называемым осколками , которые можно реплицировать для обеспечения избыточных копий данных в случае сбоя оборудования. Распределенная природа Elasticsearch позволяет ему масштабироваться до сотен (или даже тысяч) серверов и обрабатывать петабайты данных.

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

Elastic Stack упрощает прием, визуализацию и составление отчетов данных. Интеграция с Beats и Logstash позволяет пользователям легко обрабатывать данные перед их индексацией в Elasticsearch. В то же время Kibana может не только обеспечивать визуализацию данных Elasticsearch в реальном времени, но также предоставлять пользователям пользовательский интерфейс для быстрого доступа к данным, таким как мониторинг производительности приложений (APM), журналы и индикаторы инфраструктуры.

рекомендация

отblog.csdn.net/luobowangjing/article/details/132173520
рекомендация