Python Brasil 2025

Elasticsearch - um banco para quem lida com textos
2025-10-25 , Beginner

A escolha do banco de dados é essencial no desenvolvimento. Vou apresentar Elasticsearch , um banco visado para pesquisa de texto e para grande quantidade de dados


Ao longo dos anos, o Python demonstrou ser extremamente versátil, sendo utilizada em multiplas tarefas - de IA ate calculos simples. Tais tarefas, apesar de parecerem áreas distintas, possuem em comum a utilização e manipulação de dados. Manipular dados se tornou um grande desafio devido à imensa variedade e quantidade de informações disponíveis. Por conta disso, a escolha da melhor forma de armazenar esses dados tornou-se um passo essencial para o sucesso de qualquer solução tecnológica.
Para encaminhar solucoes desse problema, Eric Redmond e seus colegas lançaram o famoso livro 7 Databases in 7 Weeks (7 Bancos de Dados em 7 Semanas), em que abordam as aplicaçoes desses 7 bancos de dados open-source em diferentes cenários. Inspirado por este livro, gostaria de discutir um banco que não é tratado no livro : Elasticsearch.
O Elasticsearch, semelhante ao MongoDB, é um banco que armazena documentos , porém possui ferramentas especializadas de busca textual , graças ao apache lucene. É possível fazer diversas configurações de buscas, como configurar termos semelhantes; busca por bigrama e até mesmo busca utilizando correlação de cosseno (busca muito utilizado em aplicações de LLM).
Esta palestra apresentará o propósito de cada um desses bancos de dados, explicará como instalá-los e será demonstrado como conectá-los a uma aplicação Python - seja ela uma aplicação web (Django/FastAPI), de engenharia de dados (Airflow/Prefect) ou até mesmo um simples script. Com essa abordagem,


What prior knowledge is necessary to be able to follow your activity well?:

Python iniciante ( 1~2 anos de experiência)
Conhecimento em criar função
Tipos de dados (dicionário, string, inteiro, float)
Orientação ao objeto (criar classe utilizando python)

What can participants expect to learn from your activity?:

Identificar problemas que podem ser resolvidos da melhor maneira utilizando um banco NoSQL
Conhecimentos básico de Elastisearch
Utilização de bibliotecas low-level para conectar com Elastisearch
Utilização de bibliotecas high-level apra conectar com Elastisearch

Choose one or more areas where this proposal fits.:

Ciência e Análise de Dados, Desenvolvimento Web, Arquitetura de software, Desenvolvimento de Aplicações Desktop

See also:

Sou Físico, com mestrado em modelos matemáticos aplicados em sistemas biológicos. Trabalho com ciência de dados e engenharia de dados na Faber-castell e desenvolvedor web na empresa Itera.