SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
♥
⚫ É 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;
⚫ 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;
⚫ É armazenado sob um Id único;
⚫ Documentos são objetos Json;
⚫ Tipos de Dados:
⚫ String (text / keyword);
⚫ Number;
⚫ Geopoint;
⚫ Geoshape;
⚫ Bool;
⚫ Date;
⚫ Ipv4;
⚫ Array;
⚫ Object;
⚫ 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 é 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;
⚫ É 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;
⚫ 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;
⚫ 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
Exemplo:
⚫ The quick brown fox jumped over the lazy dog
⚫ Quick brown foxes leap over lazy dogs in summer
Uma busca por “quick brown”
Normalização
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
“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;
“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;
“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
“One Pack. Loads of Possibilities”
⚫ Segurança;
⚫ Alerta e notificação;
⚫ Monitoramento;
⚫ Relatórios;
⚫ Grafos;
⚫ Machine Learning;
“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 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);
www.elastic.co
discuss.elastic.co
Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019
Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019
Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019
Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019
Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019
Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019
Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019

Mais conteúdo relacionado

Semelhante a Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019

Introdução ao JPA com Hibernate
Introdução ao JPA com HibernateIntrodução ao JPA com Hibernate
Introdução ao JPA com Hibernate
Danilo Braga
 

Semelhante a Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019 (20)

Conceitos básicos de Xml
Conceitos básicos de XmlConceitos básicos de Xml
Conceitos básicos de Xml
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
 
Postgresql +python
Postgresql +pythonPostgresql +python
Postgresql +python
 
Postgre sql +python
Postgre sql +pythonPostgre sql +python
Postgre sql +python
 
TDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativosTDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativos
 
MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento
 
pgModeler: muito mais que um modelador de bancos de dados PostgreSQL
pgModeler: muito mais que um modelador de bancos de dados PostgreSQLpgModeler: muito mais que um modelador de bancos de dados PostgreSQL
pgModeler: muito mais que um modelador de bancos de dados PostgreSQL
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Parte5 xml
Parte5 xmlParte5 xml
Parte5 xml
 
Introdução ao JPA com Hibernate
Introdução ao JPA com HibernateIntrodução ao JPA com Hibernate
Introdução ao JPA com Hibernate
 
Introdução ao JPA com Hibernate
Introdução ao JPA com HibernateIntrodução ao JPA com Hibernate
Introdução ao JPA com Hibernate
 
Stream de dados e Data Lake com Debezium, Delta Lake e EMR
Stream de dados e Data Lake com Debezium, Delta Lake e EMRStream de dados e Data Lake com Debezium, Delta Lake e EMR
Stream de dados e Data Lake com Debezium, Delta Lake e EMR
 
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
 
Construindo um data lake na nuvem aws
Construindo um data lake na nuvem awsConstruindo um data lake na nuvem aws
Construindo um data lake na nuvem aws
 
Propostas de atendimento aos cartórios de Registro de Imóveis - Desenvolvedor...
Propostas de atendimento aos cartórios de Registro de Imóveis - Desenvolvedor...Propostas de atendimento aos cartórios de Registro de Imóveis - Desenvolvedor...
Propostas de atendimento aos cartórios de Registro de Imóveis - Desenvolvedor...
 
Metadados: dados a respeito de dados
Metadados: dados a respeito de dadosMetadados: dados a respeito de dados
Metadados: dados a respeito de dados
 
Palestra Introdução a Linked Data
Palestra Introdução a Linked DataPalestra Introdução a Linked Data
Palestra Introdução a Linked Data
 
TA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdfTA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdf
 
Big data Workshop
Big data WorkshopBig data Workshop
Big data Workshop
 

Mais de Thiago Barradas

Mais de Thiago Barradas (6)

Capacity planning - Projetando o seu cluster de Elasticsearch
Capacity planning - Projetando o seu cluster de ElasticsearchCapacity planning - Projetando o seu cluster de Elasticsearch
Capacity planning - Projetando o seu cluster de Elasticsearch
 
Criando componentes e disponibilizando o como opensource em 5 minutos em .NET
Criando componentes e disponibilizando o como opensource em 5 minutos em .NETCriando componentes e disponibilizando o como opensource em 5 minutos em .NET
Criando componentes e disponibilizando o como opensource em 5 minutos em .NET
 
Codacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJ
Codacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJCodacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJ
Codacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJ
 
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
 
Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017
 
Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Palestra Elasticsearch - The Developers Conference - Floripa - 2017Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Palestra Elasticsearch - The Developers Conference - Floripa - 2017
 

Último

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Último (6)

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019

  • 1.
  • 2.
  • 3.
  • 4. ⚫ É 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;
  • 5. ⚫ 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;
  • 6.
  • 7. ⚫ É armazenado sob um Id único; ⚫ Documentos são objetos Json; ⚫ Tipos de Dados: ⚫ String (text / keyword); ⚫ Number; ⚫ Geopoint; ⚫ Geoshape; ⚫ Bool; ⚫ Date; ⚫ Ipv4; ⚫ Array; ⚫ Object;
  • 8. ⚫ 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:
  • 9. ⚫ 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;
  • 10. ⚫ É 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;
  • 11. ⚫ 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;
  • 12. ⚫ 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
  • 13. Exemplo: ⚫ The quick brown fox jumped over the lazy dog ⚫ Quick brown foxes leap over lazy dogs in summer Uma busca por “quick brown”
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. 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
  • 24.
  • 25. “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;
  • 26. “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;
  • 27. “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;
  • 29. “One Pack. Loads of Possibilities” ⚫ Segurança; ⚫ Alerta e notificação; ⚫ Monitoramento; ⚫ Relatórios; ⚫ Grafos; ⚫ Machine Learning;
  • 30. “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;
  • 31. “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);
  • 32.
  • 33.