【重要变更公告】3.6 版本全文索引特性变更

致忠实的 NebulaGraph 的用户们:

关于 NebulaGraph 全文索引功能,在过去的历史版本中,一直被比较多的人诟病,比如约束限制多,不支持分词,仅支持通配符、正则、前缀匹配、模糊匹配4种方式等等,原有功能实际上调用的是 ES 的 term-level queries 的能力,更偏向于精确值查找,查找过程中是不对搜索词做分析的。而这些能力往往是可以被 NebulaGraph 的原生索引及字符串运算符所支持的,这导致原有的全文索引功能略显鸡肋。

经过团队内部评审决策,在后续的 NebulaGraph 社区版中(即 NebulaGrpah v3.6.0 版本开始),对全文索引功能进行特性级别变更

变更内容如下:

  1. 原有的全文索引功能由调用 ES 的 term-level queries 改为调用 ES 的 Full text queries 方式。
  2. 变更后,除了支持原来的通配符、正则、模糊匹配等方式(但语法发生变化),还主要增加了对分词的支持(依赖 ES 自身使用的分词器),查询结果包含评分结果。还有更多的语法参见 ES官方文档

关于新版本全文索引功能的使用方式,请参见正式发布的官方文档( 全文搜索 - NebulaGraph Database 手册

需要注意的是,由于 Full text queries 和 term-level queries 在 ES 的底层存储上格式完全不同,同时考虑到原有全文索引功能整体的价值和架构复杂度及维护投入,我们放弃了对升级兼容性的支持,因此

如果你在 v3.6 版本之前的版本使用了原有的全文索引功能,想在之后的版本中,继续使用通配符、正则、模糊匹配等方式,有如下 3 种方式:

  1. 删除原有全文索引,使用新的方式重建全文索引,使用新的查询语法查询(具体参见后续官方文档)
  2. 或者删除原有全文索引后,直接用NebulaGraph 原生索引 + 字符串运算符替换
  3. 或者保留使用 v3.5 版本;

以上为本次全文索引特性变更内容,如有任何疑问,欢迎在论坛发帖留言。再次感谢大家对 NebulaGraph 产品的支持和热爱!

NebulaGraph 产品团队

3 个赞