2016-08-24 2 views
0

私は外部インデックス(elasticsearch)に基づいてGEO述語を持つtitan 1.0 db: を使用しています。DISJOINT、WITHIN、INTERSECTの3つの可能性があります。Titan db 1.0:Tinkerpop3インデックス取得ジオ述語の後の警告

私はWITHIN実行/ geoWithinには警告は表示されません

g.V().has(STORY_LOCATION, geoWithin(circle)); 

が、コールのGEOのDISJOINT:

g.V().has(STORY_LOCATION, geoDisjoint(circle)); 

私はインデックスWARNING

WARNING: Query requires iterating over all vertices [(storyLocation disjoint circle[30.0,30.0]:5000.0)]. For better performance, use indexes 

私がしようとしているを取得していますgeoWithinとgeoDisjointとの間のインデックスの問題に関する違いを理解する。

P.S: 
index configuration: 
PropertyKey storyLocation = createPropertyKey(tm, STORY_LOCATION, Geoshape.class, Cardinality.SINGLE); 

tm.buildIndex(indexName, TitanVertex.class).addKey(storyLocation).buildMixedIndex("search") 

答えて

2

は、私の知る限りでは、geoWithinはインデックスを利用することができる唯一の述語である、他のすべては、フルスキャンがあります。私はこれが検索バックエンドによって指示された技術的な制限だと思います。

関連する問題