Elasticsearch – Guia de Introdução

Este texto tem como objetivo apresentar a solução Elasticsearch, um motor de busca capaz de manipular grandes quantidades de dados. Possui código-fonte aberto, sob licença da Apache.

Características

  • Open Source, baseado em Apache Lucene e Hadoop
  • Escrito em Java
  • Foco em escalabilidade – Comece pequeno e cresça
  • Pode utilizar dados de qualquer fonte, analisar e entregá-lo
  • Trabalha com JSON sob Http

Conceito

Como foi baseado no Lucene, herdou suas características:

  • Índice: define o endereço para acesso às informações guardadas no ES. De forma parecida com o esquema nos BDRs, necessitamos saber o nome e a localização na rede de um índice (por exemplo, localhost:9200/nome_indice) para conectar-se e manipular as estruturas de armazenamento do ES;
  • Type: recurso usado para nomear conjuntos de documentos armazenados em um índice, podendo ser comparado ao conceito de tabela em BDRs, pois contém vários documentos que obedecem a uma mesma estrutura de campos;
  • Documento: é um texto plano – isto é, não corresponde a formatos binários como .doc ou .pdf – organizado em campos delimitados por chaves e vírgulas, de acordo com o padrão JSON. Sua função é similar ao das linhas de tabelas, já que é sobre os documentos que as operações de manuseio de dados (inserção, recuperação, alteração e exclusão) são realizadas;
  • Campo (field): é a unidade mínima de informação armazenada em um documento. Deve possuir um tipo, que pode ser padrão – por exemplo: string, integer/long, float/double, boolean, ou null – ou criado pelo desenvolvedor. O campo tem a mesma função de uma coluna no BDR;
  • Mapeamento (mapping): define a estrutura de um documento, contendo campos e a maneira como cada um deve ser armazenado e recuperado. O mapeamento funciona como a definição de colunas nas tabelas em BDRs;
  • Query DSL: é a linguagem de busca (para mais detalhes, veja a seção Links). Está para o Lucene como o SQL está para os BDRs;
  • Score: valor numérico que representa quão bem um documento está relacionado a uma busca em Query DSL;
  • Analisador: mecanismo para transformação de texto – por exemplo: a conversão de letras maiúsculas em minúsculas, o tratamento de espaços em branco – durante o armazenamento e recuperação de informações.

Aguarde nova atualização.