建索引时,限制建立时长度,导致搜索时索引到多个节点?

  • nebula 版本:v3.0.0
    建索引时,长度的限制,导致搜索时索引到多个节点?
    举例:以company节点类型为例,给company类型节点,属性name建立长度20的索引
    当搜索“深圳市美科星通信技术有限公司”时,会索引到两个节点:【深圳市美科星通信技术有限公司,“深圳市美科星通信技术有限公司光明分公司”】

给属性name建立长度更长的索引,例如64,此问题会解决。
请问一下,这是索引方面的bug么?

你好好看看版本号,截图下,Nebula 还没发到 v3.0 版本呢。

这个不是 bug 啊,长度 20 的意思就是你匹配你这个 string 里的 20 个字符啊,如果某个属性值前 20 个字符内容是一样的,被搜索出来不是很正常吗。:thinking: 参考你进行百度或者谷歌搜索,也会弹出来长尾搜索呀,除非你用直接的完全匹配。

好的,版本号是2.5,谢谢你的解答,你说的很清楚。
按照树结构去索引,像上面这种情况不是应该先索引树结构上的对应叶子结点,然后再在此叶子结点上拿出对应所有的value,再做一步匹配,然后返回值,这样是不是会更合理也会节省索引的长度从而节省更多内存啊。不然为避免上述错误,就得把索引长度建的足够长占据更多内存。
举例:搜索 “深圳市美科星通信技术有限公司“ 应当先索引到“深圳市美科星通信技术有限公司”对应的叶子节点,拿出这个叶子结点对应的values【深圳市美科星通信技术有限公司,“深圳市美科星通信技术有限公司光明分公司”】,在此处再加一步处理,然后返回值。

是否在nebula上,此处的叶子结点上只保留对应 的vid,并没有保留values?
以上,只是做一个开发的思考及交流建议,如有不对请见谅。