Não encontro nenhuma explicação profunda na Web sobre uma comparação entre o ElasticSearch e os bancos de dados de gráficos.
Ambos são otimizados para atravessar dados.
O ElasticSearch parece estar otimizado para análises.
No entanto, o Neo4j também é baseado no Lucene para gerenciar índices e alguns recursos de texto completo.
Por que eu usaria o ElasticSearch se já uso um banco de dados de gráficos?
No meu caso, estou usando o Neo4j para construir uma rede social.
Que benefício real o ElasticSearch pode trazer?
ATUALIZAÇÃO ----------
Acabei de encontrar este parágrafo:
Existem inúmeros casos em que a pesquisa elástica é útil. Alguns casos de uso exigem mais claramente do que outros. Abaixo estão listadas algumas tarefas para as quais a pesquisa elástica é particularmente adequada.
- Pesquisando um grande número de descrições de produtos para a melhor correspondência para uma frase específica (por exemplo, “faca do chef”) e retornando os melhores resultados
- Dado o exemplo anterior, detalhando os vários departamentos em que a “faca do chef” aparece (consulte Facetamento mais adiante neste livro)
- Pesquisando texto por palavras que pareçam "temporada"
- Preenchimento automático de uma caixa de pesquisa com base em palavras parcialmente digitadas, com base em pesquisas emitidas anteriormente e contabilizando erros de ortografia
- Armazenando uma grande quantidade de dados semiestruturados (JSON) de maneira distribuída, com um nível especificado de redundância em um cluster de máquinas
Note-se, no entanto, que, embora a pesquisa elástica seja excelente para solucionar os problemas mencionados acima, não é a melhor escolha para os outros. É especialmente ruim na solução de problemas para os quais os bancos de dados relacionais são otimizados. Problemas como os listados abaixo.
- Cálculo de quantos itens restam no inventário
- Descobrir a soma de todos os itens de linha em todas as faturas enviadas em um determinado mês
- Executando Duas Operações Transacionalmente com Suporte à Reversão
- Criação de registros com garantia de exclusividade em vários termos, como um número de telefone e extensão
- A pesquisa elástica geralmente é fantástica ao fornecer respostas aproximadas dos dados, como pontuar os resultados por qualidade. Embora a pesquisa elástica possa executar cálculos estatísticos e de correspondência exata, sua principal tarefa de pesquisa é uma tarefa inerentemente aproximada.
- Encontrar respostas aproximadas é uma propriedade que separa a pesquisa elástica dos bancos de dados mais tradicionais. Dito isto, os bancos de dados relacionais tradicionais se destacam pela precisão e integridade dos dados, para os quais a elasticsearch e o Lucene têm poucas provisões.
Posso afirmar que, se não precisar de respostas aproximadas, o ElasticSearch seria inútil em comparação com um banco de dados de gráficos já usado?