Elastic Stack recipes
1.52K subscribers
24 photos
222 links
Платные консультации, администрирование, поддержка, обучение ElasticSearch/OpenSearch в России, Казахстане и других странах — @galssoftware

Consulting and implementation for ElasticSearch/OpenSearch. Ask @galssoftware

Web: gals.software
Download Telegram
Про методы оптимизации производительности Elasticsearch уже было написано много статей. Чтобы убедиться в улучшении производительности нет ничего лучше практического стресс-теста. Именно для этих целей и была придумана утилита Rally.

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

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

esrally: Official Stress Testing Tool for Elasticsearch
👍3
Fluentd — это сборщик данных с открытым исходным кодом.Мы выбрали Fluentd в качестве сборщика данных и запускаем его как набор демонов в нашем кластере Kubernetes. Это гарантирует, что логи всех модулей, работающих на любом из узлов, собираются и отправляются в кластер Elasticsearch.

Running Fluentd as a Daemonset in Kubernetes
14 сентября вышел новый OpenSearch 2.3. Появились некоторые улучшения, среди них довольно экзотический способ создания реплик. Подробнее.

Мы подготовили 3-дневный курс по OpenSearch. Стартуем по мере формирования группы. Подробная информация и заявка на обучение.
Elasticsearch 8.x Deployment. What changed?

Эта статья посвящена изменениям в настройках по безопасности, которы стали обязательными в 8 версии Elastic. Читать дальше.
How to fix error 429 on Elasticsearch— Data too large — A Beginner’s Mistake — Kambr Tech Story

О методах борьбы с ошибкой.
Elasticsearch : Ingest Pipelines

В этой статье рассматриваются ingest-пайплайны. Они позволяют применять преобразования, такие как удаление полей, извлечение информации или даже обогащение данных перед индексацией документов. Можно смело рассматривать ingest-пайплайны в качестве замены Logstash.
Text similarity search with vector fields

Этот пост посвящен особой технике, называемой поиском сходства текста. В этом типе поиска пользователь вводит короткий текстовый запрос, и документы ранжируются на основе их сходства с запросом. Сходство текста может быть полезно в различных случаях использования:

⚡️Вопрос-ответ: по набору часто задаваемых вопросов найдите вопросы, похожие на тот, который ввел пользователь.

⚡️Поиск статей. В коллекции исследовательских статей возвращайте статьи с заголовком, тесно связанным с запросом пользователя.

⚡️Поиск изображений: в наборе данных изображений с подписями найдите изображения, подпись которых похожа на описание пользователя.

Прямой подход к поиску по сходству заключается в ранжировании документов на основе того, сколько слов они разделяют с запросом. Но документ может быть похож на запрос, даже если у них очень мало общих слов — более надежное понятие сходства также будет учитывать его синтаксическое и семантическое содержание.
👍1
Scalable Semantic Vector Search with Elasticsearch

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

Однако наряду с этим воодушевлением в сообществе также было выражено разочарование по поводу отсутствия в Elasticsearch масштабируемого решения для approximate nearest neighbor (ANN), которое использует поле dense_vector.

В этом посте мы представим подключаемый модуль Elasticsearch, который использует поле dense_vector для обеспечения высокопроизводительного семантического векторного поиска ANN с миллиардным масштабом.
Elasticsearch Plugin for Nearest Neighbor

Такие методы, как word2vec и сверточные нейронные сети, могут преобразовывать многие модальности данных (текст, изображения, пользователей, элементы и т. д.) в числовые векторы, так что вычисление попарных расстояний по векторам соответствует семантическому сходству исходных данных. Elasticsearch — универсальное решение для поиска, но его поддержка векторов ограничена. Этот плагин заполняет пробел, предоставляя Elasticsearch эффективный точный и приблизительный векторный поиск. Это позволяет пользователям комбинировать традиционные запросы (например, «какой-то продукт») с запросами векторного поиска (например, изображение (вектор) продукта) для расширения возможностей поиска.

Репозиторий на Гитхабе.
👍1
Advance Optimization Techniques for Elasticsearch

Несколько интересных способов.
Write Elasticsearch Queries with Logical Conditions in a Simpler Way

Когда в запросах требуется использование логических выражений NOT, AND и OR, обычно в дело вступают конструкции must, should, must_not. Логические запросы могут использоваться для выполнения всех типов расширенного поиска. Но для простого поиска с базовыми условиями NOT, AND и OR использование логических запросов было бы излишним, поскольку нужно написать много шаблонного кода. В такой ситуации больше подойдут запросы query_string, т.к. у них более простой синтаксис.
👍1👎1
The same, but different: Boosting the power of Elasticsearch with synonyms

Для поисковой системы важно знать, какие термины в документах и ​​запросах должны совпадать, даже если они выглядят по-разному. Поскольку это сильно зависит от целей использования, пользователи должны предоставить соответствующие правила. Фильтры синонимов, которые можно использовать в пользовательских анализаторах, заменяют или добавляют дополнительные токены на основе пользовательских правил либо во время индексирования, чтобы сохранить, например, оба варианта слова в проиндексированном документе, либо во время запроса в чтобы расширить условия запроса и сопоставить более релевантные документы. Из этой статьи в блоге Elastic вы узнаете о мощи использования синонимов при поиске в Elastic.
10 common questions answered with formulas and time travel in Kibana

В этой статье 10 примеров создания аналитических представлений в Kibana.

⚡️Is the proportion of errors increasing?
⚡️How does performance compare to last week?
⚡️How does this data compare to peers?
⚡️What is having the biggest effect on my average?
⚡️What's the raw gain/loss compared historically?
⚡️What's the gain/loss as a percentage of past performance?
⚡️How did the data get to where it is now?
⚡️How can I explore a dashboard in space interactively?
⚡️What's the per-unit version of this metric?
⚡️What's my industry-specific calculation— like a "Net Promoter Score"— for the last period?
В этом посте 3 статьи Аделя Сачкова, который в своё время интересно писал о своём опыте работы с Elastic. Этим статьям уже 4+ года, но актуальность они по большей части не потеряли.

Сохранить данные и веру в человечество: большая миграция кластера ElasticSearch

Мониторинг Elasticsearch без боли и страданий

Девять граблей Elasticsearch, на которые я наступил
Too many fields! 3 ways to prevent mapping explosion in Elasticsearch

Несколько советов о том, как предотвратить излишнее создание полей в документах Elasticsearch.
Оптимизация производительности кластера Elasticsearch

В этом вольном переводе оригинальной статьи, опубликованной ebay, вы узнаете несколько подходов по оптимизации производительности поиска и индексирования документов Elasticsearch.
OpenSearch Playground

Посмотреть OpenSearch в подробностях -> playground.opensearch.org
👍4
Fluent Bit 2.0 and OpenSearch

В октябре уже прошлого 2022 года на KubeCon North America был представлен Fluent Bit 2.0 с большим количеством новых возможностей на борту. Ключевым нововведением этой версии является поддержка динамического индекса для записи в OpenSearch. Например, если вы читаете данные из логов Kubernetes, вы можете следовать стратегии индексации, в которой каждый индекс именован по пространству имен Kubernetes. Благодаря поддержке динамического индекса с помощью Record Accessor теперь можно настроить индекс для извлечения значений из потока входящих сообщений.

Подробнее ->
👍1
Курс выходного дня по Elastic Stack 8/OpenSearch

Мы проводим 3-дневные семинары-инструктажи по Elastic Stack и OpenSearch, которые обычно случаются в рабочие дни. Появилась идея разбить эти три дня на три недели, например, по субботам. Если вам было бы интересно пройти обучение в таком формате, напишите @galssoftware или оставьте заявку через форму обратной связи на странице соответствующего курса.

И ещё небольшой анонс. 22-24 марта мы проведем курс по OpenSearch, регистрация на него уже открыта.

Программа курса по Elastic 8

Программа курса по OpenSearch