Elasticsearch X-Pack是否能够跨不同类型返回图形顶点?

时间:2017-08-11 17:12:31

标签: elasticsearch graph-databases xpack

我将product类型数据加载到包含catalogue_numbername的Elasticsearch中。我还将customer数据加载到包含namepurchases的Elasticsearch中(其中购买的是一系列产品编号)。

例如:

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

并且,对于客户:

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

考虑到这种关系是多对一的(即客户购买了许多商品),我是否可以使用Kibana查看将购买链接到特定客户的图表,或者这是否超出范围?

我的最终目标是让图表显示productcustomer作为顶点和边缘,显示每个客户购买的产品。我对Elasticsearch是否有能力感到困惑,或者我是否应该转移到纯图形数据库(如Neo4J和Elasticsearch)进行搜索。

1 个答案:

答案 0 :(得分:0)

图表功能可以绘制这些连接,如果它们共享一个公共字段名称 - 节点的唯一标识是字段名称和术语。术语可以在不同的索引中,但只要它们共享一个公共字段名称,它们就被视为同一节点。 我不确定你要解决哪个业务问题(推荐?欺诈?)但是根据你想要实现的目标,你可能想要以不同的方式对事物进行建模。 如果你对推荐和购买X-also-buying-Y风格建议的人感兴趣,那么人们不太可能成为有趣的节点,你可以只检查“购买”字段,这将显示哪些产品显着共现。 对于更详细的“取证”类型应用程序,您可能只想拥有person->产品链接而不具有product->产品链接,在这种情况下,您将被迫创建更多经典的“边缘式”文档,只有2个节点 - 人员ID和产品ID。