Como funciona o Elastic search?

O Elastic Search (link da empresa) é uma ferramenta para buscas de código aberto (opensource), que tem capacidade para tratar de grandes quantidades de dados em tempo real. Ela é utilizada por empresas como Google, GitHub, Twitter, SoundCloud, Yelp e Foursquare, por exemplo.

Desenvolvido por Shay Bannon em 2010, o servidor de buscas distribuído é baseado em Apache Lucene e desenvolvido em java, utilizando uma interface comum — JSON sobre HTTP. Ele possui clientes para as principais linguagens de programação e foi desenvolvido do zero com o objetivo de ser utilizado e distribuído em clusters. A ferramenta escalável é ideal para trabalhar com BigData.

Uma das features mais utilizadas é a filter, que utiliza cache para realizar buscas repetidas. Ao realizar uma busca que já foi feita antes, a ferramenta já sabe onde estão os documentos — o que garante muita velocidade para a realização de buscas por valores exatos. Já na busca por querys, é possível ranquear os resultados por relevância e ocasionar em mais facilidade para os usuários.

Entre as principais vantagens da engine de pesquisa full-text estão a disponibilidade de dados em tempo real (near-real-time), a alta disponibilidade para tratar de grandes volumes de dados e o armazenamento de dados em forma de documentos.

Além disso, possui diversos outros recursos como geolocalização e analytics. Ou seja, é uma poderosa e flexível ferramenta que apresenta um conjunto robusto de APIs e DSLs de consultas.