美文网首页
neo4j 判断索引存在性并创建索引

neo4j 判断索引存在性并创建索引

作者: _backtrack_ | 来源:发表于2020-07-25 13:12 被阅读0次

背景

最近需要对公司 hgraphdb hbase 存储替换为neo4j,为了提高查询效率,需要对某些标签下 Node 的属性创建索引,官方提供的材料没有提供 create if not exist,所以需要手动去判断索引存在性,然后写入索引,方法抽取如下:

    public static final Function3<String, String, Session, Boolean> INDEX_EXIST_FUNC = (label, property, session) -> {
        boolean flag = false;
        try {
            flag = session.run(String.format(
                    "CALL db.indexes() YIELD properties,labelsOrTypes where '%s' in labelsOrTypes and '%s' in properties  RETURN count(*) as count",
                    label, property)).list().get(0).get("count", 0) == 0;

        } catch (Exception e) {
            logger.error("check index exist failure=> label = {},property= {}", label, property);
        }
        return flag;
    };

    public static final Function3<String, String, Session, Result> CREATE_INDEX_FUN = (label, property, session) -> {
        synchronized (Clazz.class) {
            if (INDEX_EXIST_FUNC.apply(label, property, session)) {
                session.run(String.format("CREATE INDEX ON :%s(%s)", label, property));
            }
            return null;
        }
    };

依赖包

<!-- https://mvnrepository.com/artifact/io.vavr/vavr -->
<dependency>
    <groupId>io.vavr</groupId>
    <artifactId>vavr</artifactId>
    <version>0.10.3</version>
</dependency>
<dependency>
     <groupId>org.neo4j.driver</groupId>
     <artifactId>neo4j-java-driver</artifactId>
     <version>4.1.0</version>
 </dependency>

相关文章

  • neo4j 判断索引存在性并创建索引

    背景 最近需要对公司 hgraphdb hbase 存储替换为neo4j,为了提高查询效率,需要对某些标签下 No...

  • python对es基础的增删改查

    安装API python对索引进行操作 建立es连接 创建索引 删除索引 判断索引存在 对索引加入mapping ...

  • elasticsearch判断索引是否存在

    一、判断索引是否存在指定索引名,判断指定的索引是否存在集群中 二、判断索引指定类型是否存在

  • 五、索引

    MySQL 索引 创建索引创建表时创建索引CREATE 在已存在的表上创建索引ALTER TABLE 在已存在的表...

  • ElasticSearch的Java操作

    java 连接ES 创建client链接 创建索引 检查索引是否存在,删除索引 检查索引存在 删除索引 Java操...

  • golang elasticsearch 索引操作API ---

    创建索引 删除索引删除blog索引 检测索引是否存在// 检测下weibo索引是否存在

  • 2019-01-21mysql 索引

    一、索引的分类 二、索引测试 三、创建索引 1 创建表时同时创建索引 2 create在已存在的表上创建索引 3 ...

  • [PHP] php数组元素

    (1)判断是否存在该索引 即使$arr["a"]的值是null,该索引也是存在的。 (2)判断索引是否被设置了 ...

  • Oracle 索引

    1. 创建索引 2. 删除索引 3. 创建组合索引 4.查询索引 oracle中表的索引信息存在 user_ind...

  • 1-4 5.6.9ES的API操作

    索引操作 创建索引 查询索引信息 创建索引并建立映射 查看索引类型和映射 文档操作 向user中插入文档 修改文档...

网友评论

      本文标题:neo4j 判断索引存在性并创建索引

      本文链接:https://www.haomeiwen.com/subject/yfgplktx.html