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:// ...
随机推荐
- [转帖]Flink(一)Flink的入门简介
Flink(一)Flink的入门简介 https://www.cnblogs.com/frankdeng/p/9400622.html 一. Flink的引入 这几年大数据的飞速发展,出现了很多热门的 ...
- MyBatis 学习笔记(七)批量插入ExecutorType.BATCH效率对比
MyBatis 学习笔记(七)批量插入ExecutorType.BATCH效率对比一.在mybatis中ExecutorType的使用1.Mybatis内置的ExecutorType有3种,默认的是s ...
- 【C语言】崩溃的双重指针
指针的指针? 前言: 指针的初识点击移步 双重指针: 指向指针的指针是一种多级间接寻址的形式,或者说是一个指针链.通常,一个指针包含一个变量的地址.当我们定义一个指向指针的指针时,第一个指针包含了第二 ...
- JavaScript 的 深拷贝和浅拷贝
深拷贝和浅拷贝都是针对的引用类型, JS中的变量类型分为值类型(基本类型)和引用类型: 对值类型进行复制操作会对值进行一份拷贝,而对引用类型赋值,则会对地址进行拷贝,最终两个变量指向同一份数据 一.先 ...
- 练习bloc , 动画
有点意思, import 'package:flutter/material.dart'; import 'package:rxdart/rxdart.dart'; main()=>runApp ...
- Matlab建造者模式
构建者模式又叫建造者模式(Builder),是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.创建者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加以抽象,通过子类继 ...
- vue创建项目(推荐)
上一节我们介绍了vue搭建环境的情况,并使用一种方式搭建了一个项目,在这里为大家推荐另一种创建项目的方式. vue init webpack-simple vuedemo02 cd vuedemo02 ...
- Android为TV端助力之弹出软键盘方式
- 下载Spring
下载Spring Spring官网并不直接提供Spring的下载,Spring现在托管在GitHub上. 1.进入Spring官网 -> PROJECTS -> SPRING FRAMEW ...
- How to set up "lldb_codesign" certificate!
To use the in-tree debug server on macOS, lldb needs to be code signed. TheDebug, DebugClang and Rel ...