部署全文索引Graph
NebulaGraph的全文索引是基于Graph实现,这意味着用户可以使用Elasticsearch全文查询语言来检索想要的内容。全文索引由内置的进程管理,当listener集群和Elasticsearch集群部署后,内置的进程只能为数据类型为定长字符串或变长字符串的属性创建全文索引。
注意事项Graph
使用全文索引前,请确认已经了解全文索引的Graph。
部署Elasticsearch集群Graph
部署Elasticsearch集群请参见Graph。
当Elasticsearch集群启动时,请添加NebulaGraph全文索引的模板文件。关于索引模板的说明请参见Graph。
以下面的模板为例:
{
"template": "nebula*",
"settings": {
"index": {
"number_of_shards": 3,
"number_of_replicas": 1
}
},
"mappings": {
"properties" : {
"tag_id" : { "type" : "long" },
"column_id" : { "type" : "text" },
"value" :{ "type" : "keyword"}
}
}
}
请确保指定的以下字段严格符合上述模板格式:
"template": "nebula*"
"tag_id" : { "type" : "long" },
"column_id" : { "type" : "text" },
"value" :{ "type" : "keyword"}
Caution
创建全文索引时,索引名称需要以nebula
开头。
示例命令:
curl -H "Content-Type: application/json; charset=utf-8" -XPUT http://127.0.0.1:9200/_template/nebula_index_template -d '
{
"template": "nebula*",
"settings": {
"index": {
"number_of_shards": 3,
"number_of_replicas": 1
}
},
"mappings": {
"properties" : {
"tag_id" : { "type" : "long" },
"column_id" : { "type" : "text" },
"value" :{ "type" : "keyword"}
}
}
}'
用户可以配置Elasticsearch来满足业务需求,如果需要定制Elasticsearch,请参见Graph。
登录文本搜索客户端Graph
部署Elasticsearch集群之后,可以使用SIGN IN
语句登录Elasticsearch客户端。必须使用Elasticsearch配置文件中的IP地址和端口才能正常连接,同时登录多个客户端,请在多个elastic_ip:port
之间用英文逗号(,)分隔。
语法Graph
SIGN IN TEXT SERVICE [(<elastic_ip:port> [,<username>, <password>]), (<elastic_ip:port>), ...];
示例Graph
nebula> SIGN IN TEXT SERVICE (127.0.0.1:9200);
Note
Elasticsearch默认没有用户名和密码,如果设置了用户名和密码,请在SIGN IN
语句中指定。
显示文本搜索客户端Graph
SHOW TEXT SEARCH CLIENTS
语句可以列出文本搜索客户端。
语法Graph
SHOW TEXT SEARCH CLIENTS;
示例Graph
nebula> SHOW TEXT SEARCH CLIENTS;
+-------------+------+
| Host | Port |
+-------------+------+
| "127.0.0.1" | 9200 |
| "127.0.0.1" | 9200 |
| "127.0.0.1" | 9200 |
+-------------+------+
退出文本搜索客户端Graph
SIGN OUT TEXT SERVICE
语句可以退出所有文本搜索客户端。
语法Graph
SIGN OUT TEXT SERVICE;
示例Graph
nebula> SIGN OUT TEXT SERVICE;
最后更新: October 27, 2021