Desenvolvimento

23 ago, 2016

Conheça Aggregation, uma poderosa feature do Elasticsearch

Publicidade

A popularidade do Elasticsearch não é dada somente devido ao fulltext search, o Elasticsearch possui também uma feature, muito poderosa, chamada aggregation. Aggregations possibilitam classificar dados e extrair métricas facilmente, coisas que de outra forma poderiam levar dias.

Eu, particularmente, gosto da explicação da documentação do elasticsearch sobre as aggregations, que diz:

Com aggregations, é possível ter um overview dos dados. Ao invés de olhar por documents individuais, é possível analisar e classificar completamente um grupo de dados.

É possível responder a perguntas como:

  • Quantas agulhas há no palheiro?
  • Qual é o comprimento médio dessas agulhas?
  • Qual é o comprimento médio dessas agulhas separadas por fabricante?
  • Quantas agulhas foram adicionadas ao palheiro por mês?

Aggregations conseguem responder a questões ainda mais complexas, como:

  • Qual é o fabricante de agulhas mais popular?
  • Existem grupos incomuns ou anomalias entre as agulhas?

Dessa forma, as aggregations permitem que perguntas complexas sejam feitas aos dados e, mesmo sendo uma funcionalidade totalmente diferente da busca, elas trabalham em cima dos mesmos dados, o que significa que é possível combinar o poder da busca com queries e filters com as aggregations.

Elasticsearch Definitive Guide: https://www.elastic.co/guide/en/elasticsearch/guide/current/aggregations.html

Até mais, galera!