Je ne trouve aucune explication approfondie sur le Web concernant une comparaison entre ElasticSearch et les bases de données graphiques.
Les deux sont optimisés pour parcourir les données.
ElasticSearch semble être optimisé pour l'analyse.
Cependant, Neo4j est également basé sur Lucene pour gérer les index et certaines fonctionnalités de texte intégral.
Pourquoi devrais-je utiliser ElasticSearch si j'utilise déjà une base de données graphique?
Dans mon cas, j'utilise Neo4j pour construire un réseau social.
Quels avantages réels ElasticSearch peut-il apporter?
MISE À JOUR ----------
Je viens de trouver ce paragraphe:
Il existe une myriade de cas dans lesquels elasticsearch est utile. Certains cas d'utilisation le demandent plus clairement que d'autres. Voici quelques tâches pour lesquelles elasticsearch est particulièrement bien adapté.
- Recherche d'un grand nombre de descriptions de produits pour la meilleure correspondance pour une phrase spécifique (par exemple, "couteau de chef") et retour des meilleurs résultats
- Dans l'exemple précédent, décomposer les différents départements où apparaît le «couteau de chef» (voir Faceting plus loin dans ce livre)
- Recherche dans le texte de mots qui sonnent comme «saison»
- Remplissage automatique d'une zone de recherche basée sur des mots partiellement dactylographiés basés sur des recherches précédemment émises tout en tenant compte des fautes d'orthographe
- Stockage d'une grande quantité de données semi-structurées (JSON) de manière distribuée, avec un niveau de redondance spécifié sur un cluster de machines
Il convient de noter, cependant, que si elasticsearch est excellent pour résoudre les problèmes susmentionnés, ce n'est pas le meilleur choix pour les autres. Il est particulièrement mauvais pour résoudre des problèmes pour lesquels les bases de données relationnelles sont optimisées. Problèmes tels que ceux répertoriés ci-dessous.
- Calcul du nombre d'articles restant dans l'inventaire
- Calculer la somme de tous les postes sur toutes les factures envoyées au cours d'un mois donné
- Exécution de deux opérations de manière transactionnelle avec prise en charge de la restauration
- Créer des enregistrements qui sont garantis d'être uniques sur plusieurs termes donnés, par exemple un numéro de téléphone et un poste
- Elasticsearch est généralement fantastique pour fournir des réponses approximatives à partir de données, telles que la notation des résultats par qualité. Bien qu'elasticsearch puisse effectuer une correspondance exacte et des calculs statistiques, sa tâche principale de recherche est une tâche intrinsèquement approximative.
- La recherche de réponses approximatives est une propriété qui sépare elasticsearch des bases de données plus traditionnelles. Cela dit, les bases de données relationnelles traditionnelles excellent en matière de précision et d'intégrité des données, pour lesquelles elasticsearch et Lucene ont peu de dispositions.
Puis-je affirmer que si je n'ai pas besoin de réponses approximatives, ElasticSearch serait inutile par rapport à une base de données de graphiques déjà utilisée?