janusgraph-创建索引出现GraphIndexStatusReport[success=false, indexName='mixedvlabel', targetStatus=[REGISTERED], notConverged={vlabel=INSTALLED}, converged={}, elapsed=PT1M0.07S]
参考网址:
https://www.cnblogs.com/Uglthinx/p/9630779.html
原因:我的是事务没有完全关闭
解决办法:
创建一个混合索引:
// 在graph中有事务执行时绝不能创建索引(否则可能导致死锁)
mgmt = graph.openManagement()
vlabel = mgmt.getPropertyKey('vlabel')
// 构建索引
mgmt.buildIndex('mixedvlabel',Vertex.class).addKey(vlabel).buildMixedIndex("search")
mgmt.commit()
//等待索引生效
mgmt.awaitGraphIndexStatus(graph,'mixedvlabel').call()
//对已有数据重新索引
mgmt = graph.openManagement()
mgmt.updateIndex(mgmt.getGraphIndex("mixedvlabel"),SchemaAction.REINDEX).get()
mgmt.commit()
在执行(索引生效的时候出现如下错误)
mgmt.awaitGraphIndexStatus(graph,'mixedvlabel').call()
错误
GraphIndexStatusReport[success=false, indexName='mixedvlabel', targetStatus=[REGISTERED], notConverged={vlabel=INSTALLED}, converged={}, elapsed=PT1M0.07S]
事务没有完全关闭
解决办法
1. 执行关闭事务命令 : graph.tx().rollback()
但是无法完全关闭事务
2. 查看事务 :graph.getOpenTransactions()
3.使用关闭事务命令
for(i=;i<size;i++) {graph.getOpenTransactions().getAt().rollback()} //size替换为事务的数量
4.执行 REGISTER_INDEX ACTION,使索引状态INSTALLED 转为 REGISTERED
非常关键的一步
mgmt = graph.openManagement()
mgmt.updateIndex(mgmt.getGraphIndex('mixedvlabel'),SchemaAction.REGISTER_INDEX).get()
mgmt.commit()
5.查看索引新的转态
vlabel = mgmt.getPropertyKey('vlabel')
mixedvlabel=mgmt.getGraphIndex('mixedvlabel')
status=mixedvlabel.getIndexStatus(vlabel)
结果为
GraphIndexStatusReport[success=true, indexName='mixedvlabel', targetStatus=[REGISTERED], notConverged={}, converged={vlabel=REGISTERED}, elapsed=PT0S]
6.执行REINDEX与ENABLE_INDEX,完成索引
m = graph.openManagement()
m.updateIndex(m.getGraphIndex('mixedvlabel'), SchemaAction.ENABLE_INDEX).get()
m.commit() ManagementSystem.awaitGraphIndexStatus(graph, 'mixedvlabel').status(SchemaStatus.ENABLED).call()
7.返回结果
GraphIndexStatusReport[success=true, indexName='mixedvlabel', targetStatus=[ENABLED], notConverged={}, converged={vlabel=ENABLED}, elapsed=PT0.006S]
8.更新已有数据的索引
mgmt.updateIndex(mgmt.getGraphIndex("mixedvlabel"),SchemaAction.REINDEX).get()
注:如果数据量很大的话,需要时间长
janusgraph-创建索引出现GraphIndexStatusReport[success=false, indexName='mixedvlabel', targetStatus=[REGISTERED], notConverged={vlabel=INSTALLED}, converged={}, elapsed=PT1M0.07S]的更多相关文章
- JanusGraph 创建索引步骤(composite index)踩坑总结
前言 JanusGraph是一个图数据库引擎,安装及入门可以参考 JanusGraph 图数据库安装小记.为了提高查询速度,在使用过程中一般要为某些属性创建索引.这篇随笔主要是记录创建索引过程中踩过的 ...
- 创建es索引{"acknowledged"=>true, "shards_acknowledged"=>false}
创建es索引{"acknowledged"=>true, "shards_acknowledged"=>false} [2018-05-19T13: ...
- Elasticsearch5.x创建索引(Java)
索引创建代码使用官方给的示例代码,我把它在java项目里实现了一遍. 官方示例 1.创建索引 /** * Java创建Index */ public void CreateIndex() { int ...
- hive创建索引
索引是hive0.7之后才有的功能,创建索引需要评估其合理性,因为创建索引也是要磁盘空间,维护起来也是需要代价的 创建索引 hive> create index [index_studentid ...
- MongoDB性能篇之创建索引,组合索引,唯一索引,删除索引和explain执行计划
这篇文章主要介绍了MongoDB性能篇之创建索引,组合索引,唯一索引,删除索引和explain执行计划的相关资料,需要的朋友可以参考下 一.索引 MongoDB 提供了多样性的索引支持,索引信息被保存 ...
- MySQL创建索引语法
1.介绍: 所有mysql索引列类型都可以被索引,对来相关类使用索引可以提高select查询性能,根据mysql索引数,可以是最大索引与最小索引,每种存储引擎对每个表的至少支持16的索引.总索引长度为 ...
- lucene简介 创建索引和搜索初步
lucene简介 创建索引和搜索初步 一.什么是Lucene? Lucene最初是由Doug Cutting开发的,2000年3月,发布第一个版本,是一个全文检索引擎的架构,提供了完整的查询引擎和索引 ...
- lucene全文搜索之四:创建索引搜索器、6种文档搜索器实现以及搜索结果分析(结合IKAnalyzer分词器的搜索器)基于lucene5.5.3
前言: 前面几章已经很详细的讲解了如何创建索引器对索引进行增删查(没有更新操作).如何管理索引目录以及如何使用分词器,上一章讲解了如何生成索引字段和创建索引文档,并把创建的索引文档保存到索引目录,到这 ...
- lucene全文搜索之三:生成索引字段,创建索引文档(给索引字段加权)基于lucene5.5.3
前言:上一章中我们已经实现了索引器的创建,但是我们没有索引文档,本章将会讲解如何生成字段.创建索引文档,给字段加权以及保存文档到索引器目录 luncene5.5.3集合jar包下载地址:http:// ...
随机推荐
- Ubuntu16.04 安装PHP7 的 imagick 扩展
转自:https://blog.csdn.net/qq_16885135/article/details/78130281 1.从 https://pecl.php.net/package/imagi ...
- 001 SringBoot基础知识及SpringBoot整合Mybatis
1.原有Spring优缺点分析 (1)优点 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品.无需开发重量级的Enterprise J ...
- 纪一次线上cms调优
过去也有对JAVA性能调优的分析,有过以下case: 1. JVM outOfMemory, 主要是使用jmap dump 出来 hprof,使用MAT进行分析 2. JVM outOfMemory, ...
- nginx访问认证+目目录浏览
概述 在实际工作中,企业中有些网站,要求使用账号和密码才能访问,如网站后台.phpMyAdmin .Wiki 平台 等模块ngx_http_auth_basic_module 允许使用“HTTP基本认 ...
- pytest_skip跳过用例
前言 pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能 skip意味着只有在满足某些条件时才希望测试通过,否则pytest应该跳过运行测试. 常见示例是 ...
- pytest_06_fixture之yield实现teardown
上一篇讲到fixture通过scope参数控制setup级别,既然有setup作为用例之前前的操作,用例执行完之后那肯定也有teardown操作. 这里用到fixture的teardown操作并不是独 ...
- pytest_04_测试用例setup和teardown
学过unittest的都知道里面用前置和后置setup和teardown非常好用,在每次用例开始前和结束后都去执行一次. 当然还有更高级一点的setupClass和teardownClass,需配合@ ...
- 令人兴奋的TOP Server OPC Server v6.5 五大功能(下)
接上文. 2.MQTT客户端驱动程序自动标记生成(ATG) 使用过TOP Server OPC Server的大家可能还记得,在TOP Server OPC Server V6.4版本中,我们为MQT ...
- SpringBoot上传文件报错,临时路径不存在
异常信息 报错日志: The temporary upload location [/tmp/tomcat.7957874575370093230.8088/work/Tomcat/localhost ...
- 介绍一种在ABAP内核态进行内表高效拷贝的方法,和对应的Java和JavaScript版本的伪实现
内表操作是ABAP开发人员几乎在每个ABAP程序里都会遇到的. 看一个例子:有两个行结构不一样的内表,每个内表的行结构有三列,除了name这一列名字一致外,其他两列的名称都不同,下图用红色和蓝色标注出 ...