SlideShare uma empresa Scribd logo
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - Elasticsearch: O poder das buscas full-text
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - Elasticsearch: O poder das buscas full-text
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - Elasticsearch: O poder das buscas full-text
El ast i csear ch
O poder das buscas f ul l - t ext
Tópicos da Apresentação

Sobre o Elasticsearch

Conceitos

Instalação

Mapping & Analyzers

Aplicação

CRUD

Documentação

SDKs

Backup

Elastic Stack
Sobre o Elasticsearch
Sobre o Elasticsearch

É um motor de buscas distribuído;

Alta disponibilidade;

Facilmente escalável;

Desenvolvido em Java;

Baseado no Apache Lucene;

Open Source;

Comunicação API Rest (Json/HTTP);

Armazenamento de Documentos;

SDK para diversas linguagens;
Sobre o Elasticsearch

Recuperação rápida de documentos;

Análise de Logs;

Buscas full-text / geolocation;

Aggregations & Analytics;

Alerta e Classificação;

Score Functions;

Autocomplete e highlight;

Documentação bem completa;

Curva de aprendizado fácil;
Quem usa?
Conceitos
Documentos

É armazenado sob um Id único;

Documentos são objetos Json;

Tipos de Dados:

String (text / keyword);

Number;

Geopoint;

Geoshape;

Bool;

Date;

Ipv4;

Array;

Object;
Indíce e Tipos
Banco Relacional Elasticsearch
Banco Índice
Tabela Tipo
Índice Token, Indíce
 Um índice é um container de dados. Cada nó pode hospedar diversos índices;
 Um tipo representa uma classe de documentos semelhantes, mesma estrutura;
 Um tipo possui seus campos definidos e seus campos possuem tokens
(índices) que fazem referência ao documento;
Analogia com banco relacional para facilitar o entendimento:
Cluster, Nós e Shards

Cluster é um conjunto de nós trabalhando juntos;

Todos os nós se comunicam entre si;

Shard é um “pedaço” único de um índice, que pode estar em quaquer nó;

Um shard também pode (e deve) possuir réplicas espalhadas em outros nós;
Instalação
Linux (Ubuntu)
> sudo add-apt-repository ppa:webupd8team/java
> sudo apt-get update
> sudo apt-get install oracle-java7-installer
Instalando o Java
> wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.2.deb
> sudo dpkg -i elasticsearch-5.3.2.deb
Instalando o ElasticSearch
> sudo service elasticsearch start
Iniciando o serviço
Windows
Instalando o Java
Download:
https://java.com/pt_BR/download/
Após a instalação, definir variável de ambiente do windows
JAVA_HOME com o caminho da instalação do JRE.
Instalando o ElasticSearch

Download ZIP https://www.elastic.co/downloads/elasticsearch

Descomprimir arquivo, acessar o diretório /bin
> .elasticsearch-service.bat install
> .elasticsearch-service.bat start
Verificando a Instalação
Acesse: http://localhost:9200
Mapping & Analyzers
Mapping

É o processo de definição de como um documento e
seus campos são armazenados e indexados;

Define os tipos de dados dos campos (text, keyword,
date, integer, etc);

É possível definir o tipo da string entre text
(analisável) e keyword (não-analisável);

Permite a criação de sub campos;

Permite a definição de templates para campos
adicionados dinamicamente;
Analyzer

São responsáveis por tratar os dados e
gerar os índices associados a eles;

O dado é quebrado em diversos tokens a
partir dos Tokenizers e Token Filters;

Os tokens são normalizados;

Esse processo é aplicado tanto na
indexação dos documentos quanto na
busca;

Existem diversos tipos de analisadores,
para idiomas específicos, etc, e com
possibilidade de customização;
Índice Invertido

Projetado para permitir uma busca full-text
extremamente rápida;

Consiste em uma lista única com todas as palavras que
aparecem nos documentos e para cada palavra uma
lista de documentos que ela aparece;
Exemplo:

The quick brown fox jumped over the lazy dog

Quick brown foxes leap over lazy dogs in summer
Índice Invertido
Exemplo:

The quick brown fox jumped over the lazy dog

Quick brown foxes leap over lazy dogs in summer
Uma busca por “quick brown”
Índice Invertido
Normalização
Aplicação
Querys
Full-Text
Querys
Highlight
Querys
Highlight
Querys
Autocomplete
Querys
Geolocation
Querys
Aggregations
CRUD
CRUD
Documentação
www.elastic.co
discuss.elastic.co
SDKs
SDKs
Backup
Backup
PUT /_snapshot/meu_repo
{
"type":"fs",
"settings": {
"location":"C:es-bkp"
}
}
CRIAR REPOSITÓRIO
PUT /_snapshot/meu_repo/meu_snap
CRIAR SNAPSHOT
GET /_snapshot/meu_repo/_all
LISTAR SNAPSHOTS
POST /_snapshot/meu_repo/meu_snap/_restore
RESTAURAR SNAPSHOT
Elastic Stack
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - Elasticsearch: O poder das buscas full-text
Logstash
“Collect, Enrich & Data Transport”

Processa quaisquer dado, de diversas fontes;

Centralizar o processamento de dados de todos os tipos;

Normalizar variando esquema e formatos;

Customização rápida para formatos de log;

Permite facilmente adicionar plugins para fontes de dados personalizados;
Beats
“Lightweight Data Shippers”

Carrega dados com um único propósito;

Agentes leves para tarefas específicas;

Alta capacidade de processamento e carga;

Customização rápida para formatos de log;

Arquivos de log, métricas, dados da rede, registros de eventos do
windows, monitoramento de tempo de atividade;
Kibana
“Explore & Visualize Your Data”

Dashboard para visualização de dados;

Flexibilidade de análise e plataforma para visualização;

Resumo em real-time e gráficos de streaming de dados;

Interface intuitiva para uma variedade de usuários;

Compartilhamento instantâneo e incorporação de dashboards;
Kibana
X-Pack
“One Pack. Loads of Possibilities”

Segurança;

Alerta e notificação;

Monitoramento;

Relatórios;

Grafos;

Machine Learning;
Alerting
“Alerting for Elasticsearch”

Alerta e notificação;

Analisar histórico de eventos e dados;

Definição de condições, cronograma, ações;

Integração com diversas ferramentas como JIRA, HipChat e Slack;
Security
“Security for Elasticsearch”

Provedor de segurança avançada ao seu cluster;

Acesso autenticado para diversos usuários;

Recursos avançados de criptografia;

Acesso com base em funções/permissões, IP;

Pode ser integrado ao AD /LDAP;

Logs de auditoria com acessos e sessões (HIPAA, PCI DSS, FISMA, ISO);
Machine Learning
Cloud
Tudo isso na nuvem!
OBRIGADO! :)
THIAGO BARRADAS
EMAIL: TBARRADAS@MUNDIPAGG.COM
TELEFONE: (21) 99329-9143
LINKEDIN: THIAGOBARRADAS

Mais conteúdo relacionado

PPTX
Como o elasticsearch salvou minhas buscas
PDF
Primeiros Passos Com Elasticsearch
PDF
Maonamassa Pga
PPTX
Elasticsearch
ODP
BigData - ElasticSearch + PHP
PDF
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - ...
PDF
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - ...
PPTX
Apresentando o EcmaScript 6
Como o elasticsearch salvou minhas buscas
Primeiros Passos Com Elasticsearch
Maonamassa Pga
Elasticsearch
BigData - ElasticSearch + PHP
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - ...
TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - ...
Apresentando o EcmaScript 6

Semelhante a TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - Elasticsearch: O poder das buscas full-text (20)

PPT
Palestra Elasticsearch - The Developers Conference - Floripa - 2017
PPT
Workshop Elasticsearch - Android Dev Conference 2016
PDF
Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019
ODP
Android DevConference - Elastic Search como ferramenta de busca em aplicações...
PDF
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
PDF
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
PPT
PPTX
MongoDB: Uma forma diferente de pensar no desenvolvimento
PDF
Bancos de dados open source
PDF
Construindo um Data Lake na AWS
PPTX
Hibernate
ODP
Presentation
PPTX
Fluentd/LogStash + elastic search + kibana
PDF
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
PPT
Course Hibernate 2008
PDF
Consumindo dados via web service no android
PPTX
Terraform.pptx
PDF
Introdução ao JPA com Hibernate
PDF
Introdução ao JPA com Hibernate
ODP
PostgreSQL Conceitos e aplicações
Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Workshop Elasticsearch - Android Dev Conference 2016
Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019
Android DevConference - Elastic Search como ferramenta de busca em aplicações...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
MongoDB: Uma forma diferente de pensar no desenvolvimento
Bancos de dados open source
Construindo um Data Lake na AWS
Hibernate
Presentation
Fluentd/LogStash + elastic search + kibana
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Course Hibernate 2008
Consumindo dados via web service no android
Terraform.pptx
Introdução ao JPA com Hibernate
Introdução ao JPA com Hibernate
PostgreSQL Conceitos e aplicações
Anúncio

Mais de tdc-globalcode (20)

PDF
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
PDF
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
PDF
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
PDF
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
PDF
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
PDF
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
PDF
TDC2019 Intel Software Day - Inferencia de IA em edge devices
PDF
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
PPT
Trilha .Net - Programacao funcional usando f#
PDF
TDC2018SP | Trilha Go - Case Easylocus
PDF
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
PDF
TDC2018SP | Trilha Go - Clean architecture em Golang
PDF
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
PDF
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
PDF
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
PDF
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
PDF
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
PDF
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
PDF
TDC2018SP | Trilha .Net - .NET funcional com F#
PDF
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - Inferencia de IA em edge devices
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha .Net - Programacao funcional usando f#
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
Anúncio

Último (20)

PPTX
GUERRAFRIA.pptdddddddddddddddddddddddddx
PDF
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
PPTX
biossegurança e segurança no trabalho (6).pptx
PPTX
TREINAMENTO DE INSPETOR DE ANDAIMES.pptx
PDF
Metabolismo_energético_3ano_pre_vest_2026.pdf
PPTX
brasilcolnia2-101027184359-phpapp02.pptx
PPTX
Aula 13 - Tópico Frasal - Argumentação.pptx
PPTX
Revolução Industrial - Aula Expositiva - 3U4.pptx
PPTX
Ciências da Natureza e suas áreas de desenvolvimento
PDF
O retorno a origem (islã Islamismo)
PPTX
Slide_Macronutrientes e Antinutrientes da Dieta Humana.pptx
PPTX
435434725-A-Mineracao-No-Brasil-Colonial.pptx
PDF
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
PPTX
A História da Europa na Baixa Idade Média.pptx
PDF
A relação entre funções executivas e desempenho acadêmico em crianças com Tra...
PDF
Formação politica brasil_2017.pptx.pdf
PDF
Cantores.pdf-Deslandes, Tinoco e Zambujo
PDF
embriologia_animal_aula_share_2026_semestre
PDF
Organizador Curricular da Educação em Tempo Integral.pdf
PPTX
Filosofia Ocidental Antiga 2025 - versão atualizada
GUERRAFRIA.pptdddddddddddddddddddddddddx
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
biossegurança e segurança no trabalho (6).pptx
TREINAMENTO DE INSPETOR DE ANDAIMES.pptx
Metabolismo_energético_3ano_pre_vest_2026.pdf
brasilcolnia2-101027184359-phpapp02.pptx
Aula 13 - Tópico Frasal - Argumentação.pptx
Revolução Industrial - Aula Expositiva - 3U4.pptx
Ciências da Natureza e suas áreas de desenvolvimento
O retorno a origem (islã Islamismo)
Slide_Macronutrientes e Antinutrientes da Dieta Humana.pptx
435434725-A-Mineracao-No-Brasil-Colonial.pptx
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
A História da Europa na Baixa Idade Média.pptx
A relação entre funções executivas e desempenho acadêmico em crianças com Tra...
Formação politica brasil_2017.pptx.pdf
Cantores.pdf-Deslandes, Tinoco e Zambujo
embriologia_animal_aula_share_2026_semestre
Organizador Curricular da Educação em Tempo Integral.pdf
Filosofia Ocidental Antiga 2025 - versão atualizada

TDC2017 | São Paulo - Trilha NOSQL How we figured out we had a SRE team at - Elasticsearch: O poder das buscas full-text

  • 4. El ast i csear ch O poder das buscas f ul l - t ext
  • 5. Tópicos da Apresentação  Sobre o Elasticsearch  Conceitos  Instalação  Mapping & Analyzers  Aplicação  CRUD  Documentação  SDKs  Backup  Elastic Stack
  • 7. Sobre o Elasticsearch  É um motor de buscas distribuído;  Alta disponibilidade;  Facilmente escalável;  Desenvolvido em Java;  Baseado no Apache Lucene;  Open Source;  Comunicação API Rest (Json/HTTP);  Armazenamento de Documentos;  SDK para diversas linguagens;
  • 8. Sobre o Elasticsearch  Recuperação rápida de documentos;  Análise de Logs;  Buscas full-text / geolocation;  Aggregations & Analytics;  Alerta e Classificação;  Score Functions;  Autocomplete e highlight;  Documentação bem completa;  Curva de aprendizado fácil;
  • 11. Documentos  É armazenado sob um Id único;  Documentos são objetos Json;  Tipos de Dados:  String (text / keyword);  Number;  Geopoint;  Geoshape;  Bool;  Date;  Ipv4;  Array;  Object;
  • 12. Indíce e Tipos Banco Relacional Elasticsearch Banco Índice Tabela Tipo Índice Token, Indíce  Um índice é um container de dados. Cada nó pode hospedar diversos índices;  Um tipo representa uma classe de documentos semelhantes, mesma estrutura;  Um tipo possui seus campos definidos e seus campos possuem tokens (índices) que fazem referência ao documento; Analogia com banco relacional para facilitar o entendimento:
  • 13. Cluster, Nós e Shards  Cluster é um conjunto de nós trabalhando juntos;  Todos os nós se comunicam entre si;  Shard é um “pedaço” único de um índice, que pode estar em quaquer nó;  Um shard também pode (e deve) possuir réplicas espalhadas em outros nós;
  • 15. Linux (Ubuntu) > sudo add-apt-repository ppa:webupd8team/java > sudo apt-get update > sudo apt-get install oracle-java7-installer Instalando o Java > wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.2.deb > sudo dpkg -i elasticsearch-5.3.2.deb Instalando o ElasticSearch > sudo service elasticsearch start Iniciando o serviço
  • 16. Windows Instalando o Java Download: https://java.com/pt_BR/download/ Após a instalação, definir variável de ambiente do windows JAVA_HOME com o caminho da instalação do JRE. Instalando o ElasticSearch  Download ZIP https://www.elastic.co/downloads/elasticsearch  Descomprimir arquivo, acessar o diretório /bin > .elasticsearch-service.bat install > .elasticsearch-service.bat start
  • 17. Verificando a Instalação Acesse: http://localhost:9200
  • 19. Mapping  É o processo de definição de como um documento e seus campos são armazenados e indexados;  Define os tipos de dados dos campos (text, keyword, date, integer, etc);  É possível definir o tipo da string entre text (analisável) e keyword (não-analisável);  Permite a criação de sub campos;  Permite a definição de templates para campos adicionados dinamicamente;
  • 20. Analyzer  São responsáveis por tratar os dados e gerar os índices associados a eles;  O dado é quebrado em diversos tokens a partir dos Tokenizers e Token Filters;  Os tokens são normalizados;  Esse processo é aplicado tanto na indexação dos documentos quanto na busca;  Existem diversos tipos de analisadores, para idiomas específicos, etc, e com possibilidade de customização;
  • 21. Índice Invertido  Projetado para permitir uma busca full-text extremamente rápida;  Consiste em uma lista única com todas as palavras que aparecem nos documentos e para cada palavra uma lista de documentos que ela aparece; Exemplo:  The quick brown fox jumped over the lazy dog  Quick brown foxes leap over lazy dogs in summer
  • 22. Índice Invertido Exemplo:  The quick brown fox jumped over the lazy dog  Quick brown foxes leap over lazy dogs in summer Uma busca por “quick brown”
  • 31. CRUD
  • 32. CRUD
  • 36. SDKs
  • 37. SDKs
  • 39. Backup PUT /_snapshot/meu_repo { "type":"fs", "settings": { "location":"C:es-bkp" } } CRIAR REPOSITÓRIO PUT /_snapshot/meu_repo/meu_snap CRIAR SNAPSHOT GET /_snapshot/meu_repo/_all LISTAR SNAPSHOTS POST /_snapshot/meu_repo/meu_snap/_restore RESTAURAR SNAPSHOT
  • 42. Logstash “Collect, Enrich & Data Transport”  Processa quaisquer dado, de diversas fontes;  Centralizar o processamento de dados de todos os tipos;  Normalizar variando esquema e formatos;  Customização rápida para formatos de log;  Permite facilmente adicionar plugins para fontes de dados personalizados;
  • 43. Beats “Lightweight Data Shippers”  Carrega dados com um único propósito;  Agentes leves para tarefas específicas;  Alta capacidade de processamento e carga;  Customização rápida para formatos de log;  Arquivos de log, métricas, dados da rede, registros de eventos do windows, monitoramento de tempo de atividade;
  • 44. Kibana “Explore & Visualize Your Data”  Dashboard para visualização de dados;  Flexibilidade de análise e plataforma para visualização;  Resumo em real-time e gráficos de streaming de dados;  Interface intuitiva para uma variedade de usuários;  Compartilhamento instantâneo e incorporação de dashboards;
  • 46. X-Pack “One Pack. Loads of Possibilities”  Segurança;  Alerta e notificação;  Monitoramento;  Relatórios;  Grafos;  Machine Learning;
  • 47. Alerting “Alerting for Elasticsearch”  Alerta e notificação;  Analisar histórico de eventos e dados;  Definição de condições, cronograma, ações;  Integração com diversas ferramentas como JIRA, HipChat e Slack;
  • 48. Security “Security for Elasticsearch”  Provedor de segurança avançada ao seu cluster;  Acesso autenticado para diversos usuários;  Recursos avançados de criptografia;  Acesso com base em funções/permissões, IP;  Pode ser integrado ao AD /LDAP;  Logs de auditoria com acessos e sessões (HIPAA, PCI DSS, FISMA, ISO);
  • 52. THIAGO BARRADAS EMAIL: TBARRADAS@MUNDIPAGG.COM TELEFONE: (21) 99329-9143 LINKEDIN: THIAGOBARRADAS