Skip to content

oswaldoneto/invillia-reinvent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

invillia-reinvent

Elastic Search

Este tutorial utiliza o Elastic Search como repositório de dados, o mesmo que banco de dados. O Elastic Search possui operações para indexar (adicionar ou atualizar) e consultar dados.

No Elastic Search os dados são organizados em classes de documentos (Document) e mantidos em índices (index). Fazendo uma analogia com banco de dados relacional, o índice é equivalente a uma tabela, enquanto que o documento equivale a um registro na tabela.

Ambos documento no caso do Elastic Search ou registro em um banco de dados relacional, possuem campos (fields) que armazenam valores como o código do produto ou nome do cliente. Os valores possuem tipos diferentes, numérico no caso do código do produto ou alphanuméricono caso do nome do cliente.

O Elastic Search possui um poderoso motor de busca, permitindo criar consultas complexas e personalizadas, sendo utilizado por e-commerces que usam o Elastic Search para entregar produtos mais relevantes para o usuário.

Para simplificar, usaremos o Docker para instânciar do Elastic Search e mante-lo ouvindo na porta 9200.

Excute o seguinte comando no terminal do seu sistema operacional:

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2

Spring Data

Em uma aplicação Spring, o responsável por simplificar o acesso ao repositório de dados é o Spring Data. Sem o Spring Data o desenvolvedor(a) teria que criar uma camada de acesso a dados também conhecido como DAO Layer. Normalmente, a implementação de DAO requer gerar vários artefatos de configuração e controle de acesso tornando o código mais verboso.

https://spring.io/projects/spring-data

O Spring Data visa eliminar a complexidade evitando o chamado boilerplate code. Por exemplo, se você definir uma interface que extende ElasticsearchRepository, esta interface irá prover as operações CRUD, permitindo indexar e consultar documentos no Elastic Search com chamadas simples para os métodos da interface.

About

Invillia Reinvent

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages