2017-08-11 4 views
0

J'ai des données de type product chargées dans Elasticsearch contenant catalogue_number et name. J'ai également customer données chargées dans Elasticsearch contenant name et purchases (où les achats sont un tableau de numéros de produit).Elasticsearch X-Pack est-il capable de renvoyer des sommets de graphes de différents types?

Par exemple:

CATALOGUE_NUMBER, NAME 
518, "Toilet Paper" 
388, "Candy Bar" 
263, "Carrots" 

Et, pour les clients:

NAME, PURCHASES 
"Jack", [518, 388] 
"John", [263] 
"Bill", [263, 518] 

Compte tenu de la relation est beaucoup à l'un (à savoir les clients achètent de nombreux articles), puis-je utiliser Kibana pour afficher une graphique reliant les achats à des clients spécifiques, ou est-ce hors champ?

Mon objectif final est d'avoir un graphique montrant product et customer en tant que sommets et arêtes indiquant les produits que chaque client achète. Je suis très confus quant à savoir si Elasticsearch est capable, ou si je devrais passer à une base de données de graphes purs tels que Neo4J et Elasticsearch pour la recherche uniquement.

Répondre

0

La fonction graphique peut extraire ces connexions si elles partagent un nom de champ commun - l'identité unique d'un noeud est un nom de champ et un terme. Les termes peuvent être dans différents index, mais tant qu'ils partagent un nom de champ commun, ils sont considérés comme le même noeud. Je ne suis pas sûr du problème que vous essayez de résoudre (recommandations? Fraude?) Mais en fonction de ce que vous essayez de réaliser, vous voudrez peut-être modéliser les choses différemment. Si vous êtes intéressé par les recommandations et les personnes qui ont acheté des suggestions de style X, alors les gens ont peu de chances d'être des noeuds intéressants à tracer et vous pouvez simplement examiner le champ "achats" qui permettra de déterminer quels produits co-produisent de manière significative. Pour des applications de type "police scientifique" plus détaillées, vous pouvez simplement avoir des liens personne-> produit et ne pas avoir de lien produit-> produit, auquel cas vous seriez obligé de créer des documents plus "classiques" avec seulement 2 nœuds. un ID de personne et un ID de produit.