Ответ
Работал с Elasticsearch в нескольких проектах, в основном для поиска, агрегации и анализа данных. Использовал официальный клиент elastic/go-elasticsearch и иногда olivere/elastic (v7).
Пример:
client, err := elasticsearch.NewClient(elasticsearch.Config{
Addresses: []string{"http://localhost:9200"},
})
if err != nil {
log.Fatalf("Error creating client: %s", err)
}
res, err := client.Search(
client.Search.WithIndex("products"),
client.Search.WithQuery("name:gopher"),
)
if err != nil {
log.Fatalf("Error searching: %s", err)
}
defer res.Body.Close()
Решал задачи:
- Настройка релевантности поиска (bool queries, fuzzy, match_phrase)
- Оптимизация запросов (scroll, bulk API)
- Визуализация данных через Kibana
Готов обсуждать нюансы: mapping, analyzers, sharding.