2017-08-11 1 views
0

私は、catalogue_numbernameを含むElasticsearchにロードされたproductタイプのデータを持っています。私はnamepurchasesを含むElasticsearchにロードされたcustomerのデータも持っています(購入は製品番号の配列です)。例えばElasticsearch X-Packは、異なる種類のグラフの頂点を返すことができますか?

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

そして、顧客のために:関係を考慮し

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

は1に多くのである(すなわち、顧客が多くのアイテムを購入する)、私は見ることKibanaを使用することができています特定の顧客に購入をリンクするグラフ、または範囲外ですか?

私の最終目標は、productcustomerというグラフを各顧客がどの製品を購入したかを示す頂点とエッジとして表示することです。私は、Elasticsearchが可能かどうか、または検索のみのためにNeo4JやElasticsearchなどの純粋なグラフデータベースに移動する必要があるかどうかについて非常に混乱しています。

答えて

0

グラフ機能は、共通のフィールド名を共有する場合、これらの接続を引き出すことができます。ノードの一意のIDはフィールド名と用語です。用語は異なるインデックスにすることができますが、共通のフィールド名を共有する限り、同じノードとみなされます。 あなたは解決しようとしているビジネス上の問題(推奨?詐欺?)は分かりませんが、達成しようとしていることによっては、さまざまなことをモデル化したいかもしれません。 おすすめ商品や購買した人-X買った-Yスタイルの提案に興味がある人は、面白いノードである可能性は低いですし、「購入」フィールドを調べればどの製品有意に共生する。 "フォレンジック"タイプのアプリケーションの詳細については、person-> productリンクを持ち、product-> productリンクを持たないのが望ましいかもしれません。この場合、2ノードしかない古典的な "エッジ様"人物IDと製品IDを含む。

関連する問題