2017-10-04 5 views
0

JanusGraph(0.1.1またはそれ以降の0.2.0)インデックスの動作ではわかりません。JanusGraph索引は検索エントリ要素にのみ使用されますか?

すべてのインデックス(コンポジットインデックス、混合インデックスおよび頂点中心インデックス)は、エントリポイントの要素を検索するためにのみ使用されますか?

たとえば、次のトラバーサルでは、インデックスはhas('Lang', 'name', 'python')でのみ使用されますか?

g.V().has('Lang', 'name', 'python').in('use').has('person', 'age', P.gt(28)).toList() 

もしそうであれば、中間頂点は非常に多くのエッジ(スーパーノード)を有する場合、JanusGraphフィルタリングするために、バックエンド・ストレージから非常に多くの要素を読まなければなりませんか?

答えて

3

最初のルックアップの後では、トラバーサルのパフォーマンスを向上させるために、vertex centric indexesを利用することしかできません。たとえば、年齢のプロパティを複製することもできます(useのエッジに保存し、このプロパティでVCIを作成することもできます)。

mgmt.buildEdgeIndex(uses, "usedByAge", Direction.IN, Order.incr, age); 
+0

ありがとうございます!私はVertex中心のインデックスを作らなければなりません。 – takaomag

関連する問題