【NebulaGraph】NebulaGraph 是否支持全文索引?如果不支持,通常如何解决文本搜索需求?

Source

NebulaGraph 全文搜索实战指南:从社交网络好友推荐到混合检索架构设计

问题引入

本次聚焦于用户提出的以下具体问题:

三、 nGQL 语言深度解析 (Deep Dive into nGQL)

51. NebulaGraph 是否支持全文索引?如果不支持,通常如何解决文本搜索需求?

在一个亿级用户的全球社交平台中,产品团队提出了一个看似简单却极具挑战的需求:“允许用户通过自然语言关键词(如‘会弹吉他的摄影师’)来搜索潜在的好友”。

工程师们的第一反应是在NebulaGraph中为用户的bio(个人简介)字段创建一个全文索引。然而,当他们查阅官方文档和尝试执行CREATE FULLTEXT INDEX命令时,却得到了一个明确的错误:NebulaGraph 3.8.0 原生并不支持全文索引功能

这个缺失导致了一个严重的性能瓶颈。如果直接使用nGQL的CONTAINS操作符进行文本匹配:

-- ⚠️ 性能灾难!全表扫描!
MATCH (u:user) WHERE u.bio CONTAINS "吉他" RETURN u.name LIMIT 10;