TGViewer
Channel Public Channel
Elastic Stack recipes

Elastic Stack recipes

@elasticstack_ru

Платные консультации, администрирование, поддержка, обучение ElasticSearch/OpenSearch в России, Казахстане и других странах — @galssoftware

Consulting and implementation for ElasticSearch/OpenSearch. Ask @galssoftware

Web: gals.software
Subscribers
1.55K
Photos
59
Videos
0
Links
270

Showing posts older than #86 · Back to latest

Older Posts 20 shown
Post #85 999
Пару-тройку месяцев назад Elastic ограничил доступ к своему репозиторию из России. Вопрос, конечно, решается при помощи VPN, но есть вариант и попроще - зеркало Яндекс Cloud.

https://mirror.yandex.ru/mirrors/elastic/
  • 👍 6
  • 👎 4
Post #84 979
​Производительность Elasticsearch может сильно снизиться, если нода вдруг начнет скидывать данные из памяти в своп на диск. Elasticsearch можно настроить, чтобы этого избежать. В этой статье подробности настройки.
  • 👍 3
Post #83 954
​Иногда появляются задачи обогащения данных Elasticsearch из реляционных баз данных. В этой статье разбираемся как настроить такую синхронизацию при помощи Logstash.

Новая статья уже в блоге у нас на сайте.
Post #82 828
Elasticsearch сводит иерархию объектов к парам ключ/значение, потому что в Lucene нет понятия внутренних объектов, как в JSON. Это означает, что нельзя запросить каждый объект независимо от других объектов в массиве. Рассмотрим приведенный ниже пример:

{ "users: [{ "name": "Гена", "age": 26}, { "name": "Вася", "age": 32 }] }

Этот массив объектов хранится так:

{ "users.name": ["Гена", "Вася"], "users.age": [32, 26] }

Массив содержит два пользовательских объекта со свойствами name и age. Когда этот массив хранится в Lucene, все значения свойства в объектах добавляются в виде массива в одно поле — в данном случае поля с именами users.name и users.age. При этом связи между свойствами теряются.

В новой статье в нашем блоге разобрались какие бывают типы данных в Elasticsearch.
gals.software Типы данных Elasticsearch В этой статье разберемся какие типы данных бывают в Elasticsearch и чем они отличаются
Post #81 738
Important Syntax Updates of Elasticsearch 8 in Python

Если работаете с Elastic через python-библиотеку Elasticsearch, в 8 версии появились некоторые обновления.
Post #79 738
Вдогонку к вчерашнему посту.

Есть несколько способов уменьшить количество шардов:

1. Создавать time-series индексы с покрытие большего периода времени.

2. Удалять пустые или ненужные индексы.

3. Выполнять forcemerge индекса, если в него перестала вестись запись.

4. Выполнить shrink для индекса, уменьшив количество шард.

5. Комбинировать небольшие индексы в один при помощи reindex.
Post #78 680
Как выбрать правильное количество и объём шардов индекса Elasticsearch

Если производительность кластера оставляет желать лучшего, проверьте корректность настроек количества и объёма шардов. В нашей новой статье мы разобрались что там как и почему. Велкоме.

Пара объявлений:

Приглашаем на наш ближайший семинар-инструктаж по 8 версии Elastic, который состоится уже 20-22 июля. Подробности на этой странице.

Мы готовим новый семинар-инструктаж по OpenSearch. По вашему запросу можем выслать программу. Примерный период запуска курса август-сентябрь этого года. Вопросы к @galssoftware.
gals.software Блог Gals Software | Как выбрать правильное количество шардов индекса Elasticsearch Увеличиваем производительность Elasticsearch путём выбора корректного количества нардов в индексе
  • 👍 1
Post #77 581
​Elastic Search Geo Point and Geo Shape Queries Explained

This story focuses on Geo-Spatial data manipulation similar to Postgis extension for PostgreSQL, Mongo DB, and Redis. In this article, we’ll look at Elasticsearch’s Geo queries, how you can set up mappings and indices, and provide you with some examples of how you can query your data.

Ссылка
  • 👍 1
Post #75 944
​Из России ушли многие известные вендоры APM-решений. Вендоры ушли, а вопросы мониторинга производительности приложений остались. Да, есть решения с открытым исходным кодом, да какую-то часть задачи они закроют, но это не будет комплексным решением. Что же делать российской компании, оставшейся без APM-решения? Достаточно просто посмотреть по сторонам. Два слова: Elastic APM.

Он закрывает основные технологические стеки (Java, .NET, Go Python и другие) и поддерживает мониторинг с точки зрения конечного пользователя (он же EUM или End User Monitoring, а по-простому — JavaScript, встраиваемый в фронтэнд). Есть возможность параллельного сбора логов микросервисов, сбора метрик производительности, встроенной интеграции с OpenTelemetry, Jaeger и другими ништяками.

Обращаем внимание заинтересовавшихся, что этот функционал бесплатен. За исключением одной штуки — Service Map. Этот блок входит платиновую подписку и будет работать только за деньги (ну, или в рамках триалки).

Дополнительная полезная ссылка — How to Integrate Elastic APM Java Agent with Spring Boot
Post #74 807
Post #73 754
​Index Pattern vs. Index Template

Эти два понятия переплетаются в среде Elasticsearch, переводятся на русский одинаково и часто создают путаницу. Давайте обратимся к документации и попробуем разобраться чем они отличаются.

Index Template позволяет в частности определять структуру документов в индексе (но не только структуру и в общем случае Index Template состоит из component templates), которая будет автоматически применяться к документам при создании новых индексов. Включает в себя как настройки самого индекса, так и условия для определения будет ли данный Index Template применяться к новому индексу.

Index и Index Template — это конструкты Elasticsearch.

Index Pattern идентифицирует один или несколько индексов Elasticsearch, которые вы видите в Kibana. Kibana ищет имена индексов, соответствующие указанному шаблону. Звездочка (*) в Index Pattern соответствует нулю или более символов. Например, шаблон myindex-* соответствует всем индексам, имена которых начинаются с myindex-, такие как myindex-1 и myindex-2. Таким образом, Index Pattern — это настройка, которая сообщает Kibana, как находить данные в индексах в Elasticsearch.

Index Pattern — это конструкт Kibana.


К слову, начиная с версии Kibana 8.x в интерфейсе больше не найти Index Pattern, теперь это Data View.
  • 👍 1
Post #69 597
​Интересная статья о реализации поиска в Lamoda.

Нам нужно уметь искать товары в сфере Fashion & Lifestyle. Например, запрос «американка»: для Lamoda это может быть водолазка без рукавов или мужская куртка-бомбер. Но если задать этот запрос в Google, он выдаст другие результаты, при этом тоже релевантные. Например, «американкой» может называться резьбовое соединение или игра в бильярд.
Post #68 640
​Если используете кросс-кластерный поиск между кластерами в различных локациях, ниже ссылка на интересное решение проблемы, при которой нода удаленного кластера переставала отвечать (проблемы с сетью, повышенная нагрузка etc.) и поиск крэшился. А всего-то нужно было добавить...

ElasticSearch: отказоустойчивый сервер отказал
Post #67 551
​На одном проекте был написан свой поиск на базе SQL с фильтрами и прочей лабудой. И пока было мало записей в БД все работало отлично, но в один прекрасный день мы сделали выгрузку в БД на 100000 уникальных записей, и что-то резко пошло не так...

Подключение и Настройка ElasticSearch + MySql + Yii2
Post #66 585
How to Migrate from Elasticsearch to OpenSearch

Если по каким-то причинам вы решили отказаться от бесплатной версии Elastic, либо лишились возможности продлить подписку, то, скорее всего, уже рассматриваете OpenSearch. Основное очевидное преимущество — возможность штатной интеграции c AD. Остальные преимущества, на наш взгляд, весьма спорны.

Но если рассматриваете — вот неплохой гайд.
Opster OpenSearch Migration - How to Migrate from Elasticsearch to OpenSearch OpenSearch supports migration to Elasticsearch using rolling upgrades. There're 4 methods to migrate data from Elasticsearch to OpenSearch...
  • 👍 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →