在我们的使用场景中我们需要首先给数据打上大量标签,同时需要在一定期限(比如一周)后重新对数据进行计算再次根据新的数据进行打标,在我们的查询中,我们的查询语句如下:
lookup on
人
yield id(vertex) as id | go from $-.id over关联标签
where properties($$).标签名称
== “男人” yield id($^) as id | limit 0,10;
在图中具体关系为: (人)-[关联标签]->(标签),其中上述语句为查询标签为男人的人
在我们的具体操作中,开始时使用index直接对标签名称进行index,查询速度在零点几秒,不进行index时间在40秒以上。
但是在我们的更新中,我们直接删除标签tag,然后再次写入标签以及关系,请问该种方式是正确 的吗?在删除标签后我们并未手动compaction,再次使用打标语句重新计算男人的标签并写入数据库,在这种方式下我们的查询速度达到50秒,即使index时间并未下降。
请问查询速度慢是什么原因造成的?是因为我们删除时只删除tag的做法是错误的吗?还是再次写入后index未生效?