Uma Introdução ao Elasticsearch
Onilton Maciel / GruPy-SP / Junho - 2016
Como construir o seu próprio "Google"
(do jeito MUITO fácil)
Onilton Maciel / GruPy-SP / Junho - 2016
Onilton Maciel
oniltonmaciel (gmail)
@oniltonmaciel
onilton
Front-end
Back-end
Zoeira/Besteirol
scaladores
Antes...
O quê?
Python
Antes...
Todos
SELECT * FROM MEMBERS
Procurado
Procurando alguém?
SELECT * FROM MEMBERS
WHERE NAME = "Erick Hideki"
Começando com...
SELECT * FROM MEMBERS
WHERE NAME LIKE "Erick%"
Contendo...
SELECT * FROM MEMBERS
WHERE NAME = "%Hideki%"
Ferramenta errada
Antes...
O quê?
Python
Elasticsearch
Servidor de buscas
Opensource
Lucene debaixo do motor
Schema-free
Terminologia
Nomes bonitos que você deve memorizar
Documento
Tem campos/fields
~ linha / row
{ name: "João da Silva", age: "21" }
Tipo / Type
do documento
~ tabela / table
user : { name: "João da Silva", age: "21" }
Índice / Index
Guarda os documentos
~ banco / database
Documento -> Tipo -> Índice
Linha -> Tabela -> Banco
Indexar -> Criar/Atualizar
Nó / node
Geralmente uma máquina
Pode abrigar vários índices
RESTful
Boring...
Distribuído
Cluster
Um grupo de nós/servidores
Sempre tem um master
Cluster
Elástico
Cluster
Resiliente
Mas como?
Shards
Text
Meetup (índice)
Server 1
Meetup (índice)
Server 1
S1
S2
S3
S4
S5
Meetup (índice)
Server 1
S1
S2
S3
S4
S5
Meetup (índice)
Server 2
rS1
rS2
rS3
rS4
rS5
Meetup (índice)
Server 1
S3
rS5
S2
Meetup (índice)
Server 2
rS1
rS2
rS3
S4
Meetup (índice)
Server 3
S1
rS4
S5
Meetup (índice)
Server 1
S1
S2
S3
S4
S5
Meetup (índice)
Server 2
rS1
rS2
rS3
rS4
rS5
Consulta
Meetup (índice)
Server 1
S1
S2
S3
S4
S5
Meetup (índice)
Server 2
rS1
rS2
rS3
rS4
rS5
Falha
Meetup (índice)
Server 2
rS1
rS2
rS3
rS4
rS5
Antes...
O quê?
Python
elasticsearch-py
elasticsearch-dsl
Obrigado!
Uma Introdução ao Elasticsearch
By Onilton Maciel
Uma Introdução ao Elasticsearch
- 526