OpenSearch – это распределенный комплект поисковых и аналитических ресурсов с открытым исходным кодом для различных примеров использования, таких как мониторинг приложений в режиме реального времени, анализ журналов и поиск по веб-сайтам. OpenSearch предоставляет высокомасштабируемую систему для быстрого доступа и ответа на большие объемы данных с помощью интегрированного инструмента визуализации OpenSearch Dashboards, с которым пользователям проще изучать свои данные. Как Elasticsearch и Apache Solr, OpenSearch работает на базе поисковой библиотеки Apache Lucene. OpenSearch и OpenSearch Dashboards изначально созданы на основе Elasticsearch 7.10.2 и Kibana 7.10.2.

Вопрос. Почему создан OpenSearch?

Разработчики используют программное обеспечение с открытым исходным кодом по разным причинам. Одной из наиболее ключевых является свобода в использовании этого программного обеспечения там, где и как им необходимо. 21 января 2021 года Elastic NV объявила об изменении стратегии лицензирования программного обеспечения и о том, что новые версии Elasticsearch и Kibana под разрешительной лицензией ALv2 выходить не будут. Взамен Elastic выпускает Elasticsearch и Kibana под лицензией Elastic с исходным кодом, доступным под лицензией Elastic или Server Side Public License (SSPL). Эти лицензии не являются открытыми исходными кодами и не дают пользователям ту же свободу. По этой причине мы приняли решение создать и поддерживать ветку последней версии ALv2 Elasticsearch и Kibana. Ветка называется OpenSearch и доступна под лицензией ALv2.

Вопрос. Под какой лицензией выпущен OpenSearch?

Все программное обеспечение в проекте OpenSearch выпущено под лицензией Apache версии 2.0 (ALv2). ALv2 дает ясные разрешительные права на использование и именно ту свободу, которую люди ожидают от программного обеспечения с открытым исходным кодом: возможность использовать, изменять, расширять, монетизировать и перепродавать программное обеспечение с открытым исходным кодом где и как угодно. Что касается OpenSearch, то мы считаем, что лицензия позволит широко внедрять проект и вносить изменения, которые пойдут на пользу всему сообществу. Мы также опубликовали правила, разрешающие использование торговой марки OpenSearch, чтобы оказать поддержку в продвижении ваших предложений.

Вопрос. Elasticsearch и Kibana – это открытые исходные коды?

Elastic объявила, что публикация новых версий Elasticsearch и Kibana под лицензией ALv2 прекращена, а взамен будут опубликованы новые версии под собственной лицензией Elastic с исходным кодом, доступным под лицензией Elastic SSPL. Следовательно, Elasticsearch и Kibana старше версии 7.10.2 не являются программным обеспечением с открытым исходным кодом.

Вопрос. Почему мне стоит использовать OpenSearch?

OpenSearch позволяет легко получать, защищать, искать, собирать, просматривать и анализировать данные. Эти возможности необходимы для таких примеров использования, как поиск в приложениях, анализ журналов и многое другое. С OpenSearch вы получаете выгодный продукт с открытым исходным кодом, который можно использовать, изменять, расширять, монетизировать и перепродавать по своему усмотрению. В то же время мы по-прежнему будем предоставлять безопасный высококачественный набор инструментов для поиска и аналитики с насыщенным стратегией новых и инновационных функциональных возможностей.

Вопрос. Доступен ли OpenSearch в сервисе Amazon OpenSearch Service (преемник Amazon Elasticsearch Service)?

Да, Amazon OpenSearch Service предлагает последние версии OpenSearch.

Вопрос. Что отличает 19 версий Elasticsearch в нашем сервисе от предложения Elastic Cloud от Elastic?

Управляемый сервис Elastic позволяет клиентам развертывать только три версии Elasticsearch в конкретный момент времени (последнюю, предыдущую второстепенную и последнюю основную версию). Этот подход отличается от нашего принципа работы с Amazon OpenSearch Service. Наши клиенты могут свободно использовать ту версию Elasticsearch, которую развернули и сертифицировали для своих рабочих нагрузок. Они могут обновлять версии только когда сами в этом нуждаются, а не по требованию поставщиков. На самом деле, в отличие от Elastic Cloud, мы переносим исправления ошибок и систем безопасности во запущенные в сервисе версии и не требуем обновления для внесения изменений.

Вопрос. Может ли AWS поддерживать и продвигать такие проекты, как OpenSearch?

Когда сервис AWS принимает решение предложить услугу на базе проекта с открытым исходным кодом, то гарантирует, что при необходимости готов поддерживать ее самостоятельно. В нашем активе многолетний опыт работы с кодовыми базами Elasticsearch и Kibana, и мы внесли вклад в разработку кода как для Elasticsearch, так и для Apache Lucene (главная библиотека поиска, которая лежит в основе Elasticsearch). Мы добавили несколько возможностей с открытым исходным кодом, таких как безопасность, оповещение, обнаружение аномалий, управление состоянием индекса и аналитика трассировки, которые широко используются и развертываются в производстве нашим сообществом и клиентами. Мы хорошо подготовлены для самостоятельной поддержки и продвижения проекта. Кроме того, поддерживаемая сообществом кодовая база поможет ускорить внедрение инноваций и позволит быстрее двигаться к повышению стабильности, масштабируемости, отказоустойчивости и производительности. Многие компании, включая SAP, CapitalOne, RedHat, Logz.io, Aiven.io, Bonsai, Logit.io, Search Guard и BAInsight, уже поддержали OpenSearch публично.

Вопрос. Какие возможности, ранее не доступные в Elasticsearch с открытым исходным кодом, уже предоставляет OpenSearch?

Возможность Преимущество
Расширенные возможности обеспечения безопасности Предлагает возможности шифрования, аутентификации, авторизации и аудита. Включая интеграции с Active Directory, LDAP, SAML, Kerberos, веб-токенами JSON и многими другими. OpenSearch также обеспечивает детальный контроль доступа к индексам, документам и полям на базе назначенных ролей.
Синтаксис SQL-запроса Предоставляет знакомый синтаксис SQL-запросов. Используйте агрегацию, требования «сгруппировать по» и «где» для изучения данных. Считывайте данные в виде документов JSON или таблиц CSV, чтобы подстраиваться под необходимый формат.
Отчеты Планируйте, экспортируйте и делитесь отчетами с панелей управления, сохраненными поисковыми запросами, предупреждениями и визуализациями. 
Обнаружение аномалий Используйте обнаружение аномалий машинного обучения на основе алгоритма Random Cut Forest (RCF), чтобы автоматически находить аномалии при получении данных. Вместе с предупреждением можно отслеживать данные почти в режиме реального времени и автоматически отправлять уведомления. 
Управление индексами Задайте пользовательские политики по автоматизации рутинных задач управления индексами, такими как перенос и удаление, и примените их к индексам и шаблонам индексов.
Анализатор производительности и платформа RCA Запрашивайте многочисленные метрики производительности и агрегации кластеров. Используйте интерфейс командной строки (CLI) PerfTop, чтобы быстро отображать и анализировать эти показатели. Используйте платформу анализа первопричин (RCA) для изучения проблем производительности и надежности в кластерах.
Асинхронный поиск Выполняйте сложные запросы, не беспокоясь о времени ожидания, и запускайте асинхронные поисковые запросы в фоновом режиме. Отслеживайте ход выполнения запроса и извлекайте частичные результаты по мере поступления.
Trace Analytics Принимайте и визуализируйте данные OpenTelemetry для распределенных приложений. Визуализируйте поток событий между приложениями, чтобы выявить проблемы производительности.
Выдача предупреждений Автоматически отслеживайте данные и отправляйте оповещения о предупреждениях заинтересованным сторонам. Благодаря интуитивно понятному интерфейсу и мощному API можно легко настраивать и отслеживать оповещения и управлять ими. Создавайте очень специфичные условия оповещения, используя полный язык запросов и возможности сценариев OpenSearch.
Поиск k-NN С помощью машинного обучения запускайте алгоритм поиска ближайших соседей для миллиардов документов в тысячах измерений так же легко, как и при выполнении любого обычного запроса OpenSearch. Используйте требования агрегации и фильтров для дальнейшего уточнения операций по поиску сходства. Среди примеров использования поиска по сходству k-NN рекомендации продуктов, обнаружение мошенничества, поиск изображений, видео и связанных документов и многое другое.
Язык конвейерной обработки Язык конвейерной обработки предоставляет знакомый синтаксис запроса с полным набором команд, разделенных по каналам (|) для запроса данных.
Блокноты панели управления Объединяйте панели управления, визуализации, текст и многое другое для обеспечения контекста и подробных объяснений при анализе данных.