目前全文索引无法保证docid唯一性,ES与nebula数据的一致性也无法保证

版本:2.0GA

目前nebula的数据同步到ES时,docID的设计是:partId_schemaId_column_value,
且value截取的是前256个字节。这样的话,docid是很大几率是重复。这样的话es数据就会和nebula本地存储的数据不一致了

cc@bright-starry-sky

全文索引是基于nebula原生index的,在创建nebula索引时,需要确认字段长度小于256. 此时es中的数据是可以保证唯一性的。

docid没法保持唯一性吧,相同的column 具有相同的属性 但是是不一样的vertexID

可以的,lookup会把这两个不同的vid查询出来。简单的说,例如 v1和v2 的 prop value 都是 “AAA”,那么es中只会存储一条数据 “AAA”, 这条数据无关哪个vid。从es匹配到这个值后,会将es的输出作为lookup的输入继续执行,这样的话会扫描出两条(A1和A2的相关数据,需要哪些通过yield子句设置)数据的。

浙ICP备20010487号