首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Titan/Janus索引

Titan/Janus索引
EN

Stack Overflow用户
提问于 2017-07-03 14:42:18
回答 2查看 515关注 0票数 1

我有两个问题:

  1. 如何索引此查询? g.V(vertexId).repeat(out().hasLabel('location')).emit().tree().next()
  2. 在Titan 1.0文档中,只有当数据已经插入时才给出索引图表的方法。但是,在generate-modern.groovy文件这里中 我们看到索引是在创建顶点之前完成的,这似乎是合理的。但是,当尝试使用buildMixedIndex时,我无法做到这一点,因为它正在抛出我 非法参数异常:未知外部索引后端搜索

我的方法是

代码语言:javascript
复制
def location = mgmt.makeVertexLabel("location").make()
def displayName = mgmt.makePropertyKey("displayName").dataType(String.class).cardinality(Cardinality.SINGLE).make()
def shortName = mgmt.makePropertyKey("shortName").dataType(String.class).cardinality(Cardinality.SINGLE).make()
def description = mgmt.makePropertyKey("description").dataType(String.class).cardinality(Cardinality.SINGLE).make()
def latitude = mgmt.makePropertyKey("latitude").dataType(String.class).cardinality(Cardinality.SINGLE).make()
def longitude = mgmt.makePropertyKey("longitude").dataType(String.class).cardinality(Cardinality.SINGLE).make()

def locationByName = mgmt.buildIndex("displayNameAndShortNameAndDescriptionAndLatitudeAndLongitude", Vertex.class).addKey(displayName).addKey(shortName).addKey(description)
.addKey(latitude).addKey(longitude).indexOnly(location).buildMixedIndex('search')

我哪里搞错了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-03 15:42:13

  1. 如果这个查询需要很长时间,那么问题很可能是它访问了太多的元素,或者它被困在一个无限循环中。现有的JanusGraph/Titan索引对此没有帮助。您已经通过id、g.V(vertexId)进行了直接的顶点查找,查询的其余部分将从该顶点遍历邻域。我建议使用边缘标签,即out('friends'),来限制您访问的边的数量。您还可以使用simplePath()消除循环路径。您还可以使用times()until()来限制使用repeat()步骤循环的次数。
  2. 您引用的配置示例仅使用复合索引,这些索引不需要索引后端。

混合指标需要配置索引后端( Elasticsearch、Lucene或Solr )。选择其中一个,然后在初始化图形时确保传递正确的配置属性。您可以在conf目录中的发行版zip文件中找到几个示例。例如,在janusgraph-cassandra-es.properties中,您会发现:

代码语言:javascript
复制
index.search.backend=elasticsearch
index.search.hostname=127.0.0.1
index.search.elasticsearch.client-only=true

其中,search in index.X.backend是所选的索引配置名称,必须传递给buildMixedIndex(X)

票数 4
EN

Stack Overflow用户

发布于 2017-07-06 00:11:59

这是回答。复合索引和混合索引只能用于第一级gremlin查询,而不能用于第二个级别。第二级查询需要以顶点为中心的索引。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44888429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档