Titan db 1.0:Tinkerpop3获取索引警告查询geo谓词后

时间:2016-08-24 10:40:12

标签: graph-databases titan gremlin tinkerpop tinkerpop3

我正在使用基于外部索引(elasticsearch)的GEO Predicate的titan 1.0 db: 据我所知,有三种可能性:DISJOINT,WITHIN,INTERSECT。

当我执行WITHIN / geoWithin时出现没有警告

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

但是当打电话给GEO DISJOINT时:

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

我收到了索引警告

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")

1 个答案:

答案 0 :(得分:2)

据我所知,geoWithin是唯一可以使用索引的谓词,其他所有谓词都是全扫描。我想这是搜索后端所规定的技术限制。