全文索引限制¶
Caution
本文介绍全文索引的限制,请在使用全文索引前仔细阅读。
全文索引有如下 16 条限制:
- 全文索引当前仅支持
LOOKUP
语句。
- 不支持全文索引的名称包含大写字母。
- 定长字符串长度超过 256 字节,将无法创建全文索引。
- 全文索引依赖原生索引,必须先为 Tag/Edge type 创建原生索引。
- 如果 Tag/Edge type 上存在全文索引,无法删除或修改 Tag/Edge type。
- 一个 Tag/Edge type 只能有一个全文索引。
- 属性的类型必须为
String
。
- 全文索引不支持多个 Tag/Edge type 的搜索。
- 不支持排序全文搜索的返回结果,而是按照数据插入的顺序返回。
- 全文索引不支持搜索属性值为
NULL
的属性。
- 写入数据时,Elasticsearch 会自动创建相应的索引。在 NebulaGraph 中创建全文索引,但是未写入数据,查询时会报错
text search not found
。
- 不支持修改 Elasticsearch 中的索引,只能删除重建。
- 不支持管道符。
WHERE
子句只能用单个条件进行全文搜索。
- 全文索引不会与图空间一起删除。
- 确保同时启动了 Elasticsearch 集群和 NebulaGraph,否则可能导致 Elasticsearch 集群写入的数据不完整。
- 在点或边的属性值中不要包含
'
或\
,否则会导致 Elasticsearch 集群存储时报错。
- 从写入 NebulaGraph,到写入 listener,再到写入 Elasticsearch 并创建索引可能需要一段时间。如果访问全文索引时返回未找到索引,可等待索引生效(但是,该等待时间未知,也无返回码检查)。
- 使用 K8s 方式部署的 NebulaGraph 集群不支持全文索引。
最后更新:
March 28, 2023