2014-10-16 50 views
1

假設我已經定義,像這樣一個綜合指數和頂點標籤:您如何利用限於頂點標籤的複合索引?

mgmt = g.getManagementSystem() 
name = mgmt.makePropertyKey('name').dataType(String.class).make() 
god = mgmt.getVertexLabel('god') 
mgmt.buildIndex('byName',Vertex.class).addKey(name).indexOnly(god).buildCompositeIndex() 
mgmt.commit() 

我如何利用這個指數小鬼的優勢在哪裏?

假設它是類似g.V('label','god').has('name','zeus'),這是更高性能?

  1. g.V('label','god').has('name','zeus')
  2. g.V('name','zeus').has('label','god')

傳統上,我們會去與(2)因爲標籤更高度的選擇性,但有什麼特別的頂點的標籤,使得這個不真實?

回答

3

好吧,你已經發現了,它目前在小鬼不可能的,只能通過查詢API。關於表現:您的兩種方法不會有所作爲;在引擎蓋下,兩個查詢都會生成相同的Cassandra/HBase查詢(或者您使用的任何後端存儲)。

乾杯, 丹尼爾

+0

丹尼爾嗨,你能確認你的意思是,小鬼查詢未編入索引? – 2014-11-10 00:12:55

+0

確認。 Gremlin2不使用索引,Gremlin3將使用它。解決此限制的唯一方法是使用查詢API。 – 2014-11-10 12:45:35