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

Obrigado!

Uma Introdução ao Elasticsearch

By Onilton Maciel

Uma Introdução ao Elasticsearch

  • 467