Golang Microservices: Searching with Elasticsearch

Опубликовано: 16 Апрель 2021
на канале: Mario Carrion
14,187
224

Let's add support for Elasticsearch! Elasticsearch is a search, store and analytics engine. If you have seen ELK before in the wild then you're already a bit familiar with Elasticsearch, E=Elasticsearch, L=Logstash and K=Kibana.

Elasticsearch is a well known tool that is already supported by all three big cloud providers:
* AWS has Managed Elasticsearch: https://aws.amazon.com/elasticsearch-...
* GCP has Elastic Cloud: https://www.elastic.co/partners/googl...
* Azure has Elastic Cloud: https://azure.microsoft.com/en-us/ove...

Elasticsearch gives the option of indexing our persisted records for allowing our users to search using different options, when can transform those records before indexing them to handle different search terms in different ways.

In Go there two popular packages for interacting with Elasticsearch:
* github.com/elastic/go-elasticsearch: Official package, creating the requests are a manual process.
* github.com/olivere/elastic: Unofficial package, implements a fluent API for creating requests.

Both of those packages are well supported and production ready, however between the two of them I'm leaning towards using "elastic/go-elasticsearch" instead of "olivere/elastic" this is because of the comment made by the author in https://github.com/olivere/elastic/is... where he mentions that perhaps a v8 of that package will not be available, that could be an issue if you're planning to upgrade to Elasticsearch v8 whenever that version is available.

---

* Example code: https://github.com/MarioCarrion/todo-...
* Blog: https://mariocarrion.com/2021/05/24/g...

* Previous Episode: "Golang Microservices: Graceful Shutdown":    • Golang Microservices: Graceful Shutdown  
* Playlist "Building Microservices in Go/Golang":    • Building Microservices in Golang/Go  
* Playlist "Golang Tools and Packages":    • Golang/Go Tools and Packages  
* Playlist "Testing in Go":    • Testing in Golang/Go  

00:00 - Start
00:11 - What is ElasticSearch?
01:46 - ElasticSearch in Go?
04:49 - Demo time
11:15 - Go + ElasticSearch
13:14 - Parting words

---

Who am I:

Hello👋🏼! I'm Mario, a Hands-on Software Architect and Lead Backend Engineer with more than 16 years of professional experience building all kinds of software including on-premise Industrial Automation Systems, Linux Accessibility Desktop and Browser Components as well as Distributed Advertising Microservices.

Every week I will share with you different topics I've learned while working for small startups and large companies including the processes I've followed over the years for successfully delivering complex enterprise systems from start to end.

Subscribe if you like Software Development, Software Architecture and Systems Design!

Keep it up. Don't give up!

#golang #microservices #programming

--- Our affiliate links below

Shop our favorite products → https://www.amazon.com/shop/rubycarrion
Vlogging setup → https://rubycarrion.com/camerasforvlo...
Get a 30 day FREE trial of Epidemic Sound → https://www.epidemicsound.com/referra...
Try Amazon Prime 30-Day FREE trial → https://amzn.to/3s0el1R
I love getting Cash Back and think you will too! Join for free and get $20 when you spend $20 → https://www.rakuten.com/r/RUBYRA132?e...
Sign up to start using vidIQ to grow your YouTube channel for FREE → https://vidiq.com/rubycarrion

--- Our Vlog Channel

   / rubycarrion  


Смотрите видео Golang Microservices: Searching with Elasticsearch онлайн без регистрации, длительностью часов минут секунд в хорошем качестве. Это видео добавил пользователь Mario Carrion 16 Апрель 2021, не забудьте поделиться им ссылкой с друзьями и знакомыми, на нашем сайте его посмотрели 14,187 раз и оно понравилось 224 людям.