match获取不到数据但是跟上条件可以

  • nebula 版本:nebula-docker-compose:v.2.0.0

  • 部署方式Docker :

  • 问题的具体描述
    创建索引之前的数据查询不到,只能通过where条件查询
    match (v:person) return v无tlisi数据,但是match (v:person) where id(v)==‘tlisi’ return v
    有数据


    image

  • 相关的 meta / storage / graph info 日志信息

create TAG person(name string, age int);

INSERT VERTEX person(name, age) VALUE "tlisi":("lisi", 22);

CREATE TAG INDEX person_index ON person();


INSERT VERTEX person(name, age) VALUE "twang":("wang", 23);
INSERT VERTEX person(name, age) VALUE "tzhang":("zhang", 23);

match (v:person) return v


match (v:person) where id(v)=='tlisi' return v

match (v:tag) return v这样的查询需要tag上面有索引并且有索引数据,创建索引之前的数据可以通过rebuild index插入索引数据

1 个赞
# 创建索引
CREATE TAG INDEX person_index ON person();

# 重建索引确保数据一致性
REBUILD TAG INDEX person_index;

# 插入数据
INSERT VERTEX person(name, age) VALUES "tlisi":("lisi", 22);
INSERT VERTEX person(name, age) VALUES "twang":("wang", 23);
INSERT VERTEX person(name, age) VALUES "tzhang":("zhang", 23);

# 查询所有 person 标签的顶点(使用 LIMIT 防止全表扫描)
MATCH (v:person) RETURN v LIMIT 10000;

# 使用 WHERE 子句进行特定查询
MATCH (v:person) WHERE id(v) == 'tlisi' RETURN v;