部署全文索引¶
NebulaGraph 的全文索引是基于 Elasticsearch 实现,这意味着用户可以使用 Elasticsearch 全文查询语言来检索想要的内容。全文索引由内置的进程管理,当 listener 集群和 Elasticsearch 集群部署后,内置的进程只能为数据类型为定长字符串或变长字符串的属性创建全文索引。
注意事项¶
使用全文索引前,请确认已经了解全文索引的使用限制。
部署 Elasticsearch 集群¶
部署 Elasticsearch 集群请参见 Kubernetes 安装 Elasticsearch 或单机安装 Elasticsearch。目前仅支持 7.x 版本的 Elasticsearch。
Compatibility
NebulaGraph 3.4 及以后,不需要额外创建模板。
Caution
- 创建全文索引时,索引名称需要以
nebula_
开头。
用户可以配置 Elasticsearch 来满足业务需求,如果需要定制 Elasticsearch,请参见 Elasticsearch 官方文档。
登录文本搜索客户端¶
部署 Elasticsearch 集群之后,可以使用SIGN IN
语句登录 Elasticsearch 客户端。必须使用 Elasticsearch 配置文件中的 IP 地址和端口才能正常连接,同时登录多个客户端,请在多个elastic_ip:port
之间用英文逗号(,)分隔。
语法¶
SIGN IN TEXT SERVICE (<elastic_ip:port>, {HTTP | HTTPS} [,"<username>", "<password>"]) [, (<elastic_ip:port>, ...)];
示例¶
nebula> SIGN IN TEXT SERVICE (127.0.0.1:9200, HTTP);
Note
Elasticsearch 默认没有用户名和密码,如果设置了用户名和密码,请在SIGN IN
语句中指定。
Caution
Elasticsearch 客户端只能登录一次,如有修改,需要SIGN OUT
后重新SIGN IN
,且客户端对全局生效,多个图空间共享相同的 Elasticsearch 客户端。
显示文本搜索客户端¶
SHOW TEXT SEARCH CLIENTS
语句可以列出文本搜索客户端。
语法¶
SHOW TEXT SEARCH CLIENTS;
示例¶
nebula> SHOW TEXT SEARCH CLIENTS;
+-------------+------+
| Host | Port |
+-------------+------+
| "127.0.0.1" | 9200 |
+-------------+------+
退出文本搜索客户端¶
SIGN OUT TEXT SERVICE
语句可以退出所有文本搜索客户端。
语法¶
SIGN OUT TEXT SERVICE;
示例¶
nebula> SIGN OUT TEXT SERVICE;