本节为您介绍如何使用Connection
对象的方法管理属性的LTE状态、索引和全文索引。这些机制可用来加速查询。
每个示例主要展示如何使用所列方法。点击完整示例查看完整代码示例。
LTE
lte()
将点或边的一个自定义属性加载到嬴图高性能图计算引擎以加速查询。
参数:
ULTIPA.DBType
:属性类型(点属性或边属性)。string
:schema名称,输入‘*’表示所有schema。string
:属性名称。RequestConfig
(可选):配置请求。
返回值:
Response
:请求的结果。
// 将图集UltipaTeam的边属性@relatesTo.type加载到计算引擎并打印错误代码和LTE状态
let requestConfig = <RequestType.RequestConfig>{
graphSetName: "UltipaTeam",
useMaster: true,
};
let resp = await conn.lte(
ULTIPA.DBType.DBEDGE,
"relatesTo",
"type",
requestConfig
);
console.log(resp.status.code_desc);
SUCCESS
ufe()
将点或边的一个自定义属性从嬴图高性能图计算引擎卸载以节省内存。
参数:
ULTIPA.DBType
:属性类型(点属性或边属性)。string
:schema名称,输入‘*’表示所有schema。string
:属性名称。RequestConfig
(可选):配置请求。
返回值:
Response
:请求的结果。
// 将图集UltipaTeam的边属性@relatesTo.type从计算引擎卸载并打印错误代码和LTE状态
let requestConfig = <RequestType.RequestConfig>{
graphSetName: "UltipaTeam",
useMaster: true,
};
let resp = await conn.ufe(
ULTIPA.DBType.DBEDGE,
"relatesTo",
"type",
requestConfig
);
console.log(resp.status.code_desc);
SUCCESS
Index
showIndex()
获取当前图集全部点和边的属性索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
Index[]
:从当前图集获取到的全部属性索引列表。
// 获取图集Ad_Click的属性索引并打印其信息
let requestConfig = <RequestType.RequestConfig>{
graphSetName: "Ad_Click",
useMaster: true,
};
let resp = await conn.showIndex(requestConfig);
console.log(resp.data);
{
_nodeIndex: [
{
name: 'shopping_level',
properties: 'shopping_level',
schema: 'user',
status: 'done',
size: '4608315'
},
{
name: 'price',
properties: 'price',
schema: 'ad',
status: 'done',
size: '7828488'
}
],
_edgeIndex: [
{
name: 'time',
properties: 'time',
schema: 'clicks',
status: 'done',
size: '12809771'
}
]
}
showNodeIndex()
获取当前图集全部点属性索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
Index[]
:从当前图集获取到的全部点属性索引列表。
// 获取图集Ad_Click的点属性索引并打印其信息
let requestConfig = <RequestType.RequestConfig>{
graphSetName: "Ad_Click",
useMaster: true,
};
let resp = await conn.showNodeIndex(requestConfig);
console.log(resp.data);
[
{
name: 'shopping_level',
properties: 'shopping_level',
schema: 'user',
status: 'done',
size: '4608315'
},
{
name: 'price',
properties: 'price',
schema: 'ad',
status: 'done',
size: '7828488'
}
]
showEdgeIndex()
获取当前图集全部边属性索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
Index[]
:从当前图集获取到的全部边属性索引列表。
// 获取图集Ad_Click的边属性索引并打印其信息
let requestConfig = <RequestType.RequestConfig>{
graphSetName: "Ad_Click",
useMaster: true,
};
let resp = await conn.showEdgeIndex(requestConfig);
console.log(resp.data);
[
{
name: 'time',
properties: 'time',
schema: 'clicks',
status: 'done',
size: '12809771'
}
]
createIndex()
在当前图集创建一个新索引。
参数:
ULTIPA.DBType
:属性类型(点属性或边属性)。string
(Optional):schema名称,输入 * 表示所有schema。string
(Optional):属性名称。RequestConfig
(可选):配置请求。
返回值:
Response
:请求的结果。
// 在图集Ad_Click为全部点属性name新建索引并打印错误代码
let requestConfig = <RequestType.RequestConfig>{
graphSetName: "Ad_Click",
useMaster: true,
};
let resp = await conn.createIndex(
ULTIPA.DBType.DBNODE,
"*",
"name",
requestConfig
);
console.log(resp.status.code_desc);
SUCCESS
dropIndex()
删除当前图集的索引。
参数:
ULTIPA.DBType
:属性类型(点属性或边属性)。string
(Optional):Schema名称string
:属性名称。RequestConfig
(可选):配置请求。
返回值:
Response
:请求的结果。
// 删除图集Ad_Click中点属性@ad.name的索引并打印错误代码
let requestConfig = <RequestType.RequestConfig>{
graphSetName: "Ad_Click",
useMaster: true,
};
let resp = await conn.dropIndex(
ULTIPA.DBType.DBNODE,
"ad",
"name",
requestConfig
);
console.log(resp.status.code_desc);
SUCCESS
Full-text
showFulltext()
获取当前图集的全部全文点索引和全文边索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
Index[]
:从当前图集获取到的全部全文索引列表。
// 获取图集miniCircle的第一个全文索引并打印其信息。
let requestConfig = <RequestType.RequestConfig>{
graphSetName: "miniCircle",
useMaster: true,
};
let resp = await conn.showFulltext(requestConfig);
let data = resp.data;
console.log(data["_nodeFulltext" || "_edgeFulltext"][0]);
{
name: 'genreFull',
properties: 'genre',
schema: 'movie',
status: 'done'
}
showNodeFulltext()
获取当前图集中所有点属性的全文索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
Index[]
:从当前图集获取到的全部全文点索引。
// 获取图集miniCircle的第一个全文点索引并打印其信息
let requestConfig = <RequestType.RequestConfig>{
graphSetName: "miniCircle",
useMaster: true,
};
let resp = await conn.showNodeFulltext(requestConfig);
console.log(resp.data["_nodeFulltext"][0]);
{
name: 'genreFull',
properties: 'genre',
schema: 'movie',
status: 'done'
}
showEdgeFulltext()
获取当前图集中所有边属性的全文索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
Index[]
:从当前图集获取到的全部全文边索引。
// 获取图集miniCircle的第一个全文边索引并打印其信息
let requestConfig = <RequestType.RequestConfig>{
graphSetName: "miniCircle",
useMaster: true,
};
let resp = await conn.showEdgeFulltext(requestConfig);
console.log(resp.data["_edgeFulltext"][0]);
{
name: 'nameFull',
properties: 'content',
schema: 'review',
status: 'done'
}
createFulltext()
在当前图集创建一个全文索引。
参数:
ULTIPA.DBType
:属性类型(点属性或边属性)。string
:Schema名称string
:属性名称。string
: 全文索引名称。RequestConfig
(可选):配置请求。
返回值:
Response
:请求的结果。
// 在图集miniCircle中为属性@movie.name新建名为movieName的全文索引并打印错误代码
let requestConfig = <RequestType.RequestConfig>{
graphSetName: "miniCircle",
useMaster: true,
};
let resp = await conn.createFulltext(
ULTIPA.DBType.DBNODE,
"movie",
"name",
"movieName",
requestConfig
);
console.log(resp.status.code_desc);
SUCCESS
dropFulltext()
删除当前图集的一个全文索引。
参数:
string
:属性类型(点属性或边属性)。ULTIPA.DBType
:属性类型(点属性或边属性)。RequestConfig
(可选):配置请求。
返回值:
Response
:请求的结果。
// 删除图集miniCircle的全文点索引movieName并打印错误代码
let requestConfig = <RequestType.RequestConfig>{
graphSetName: "miniCircle",
useMaster: true,
};
let resp = await conn.dropFulltext(
"movieName",
ULTIPA.DBType.DBNODE,
requestConfig
);
console.log(resp.status.code_desc);
SUCCESS
完整示例
import { ConnectionPool, ULTIPA } from "@ultipa-graph/ultipa-node-sdk";
import { GraphExra } from "@ultipa-graph/ultipa-node-sdk/dist/connection/extra/graph.extra";
import { getEdgesPrintInfo } from "@ultipa-graph/ultipa-node-sdk/dist/printers/edge";
import { RequestType } from "@ultipa-graph/ultipa-node-sdk/dist/types";
import { ListFormat } from "typescript";
let sdkUsage = async () => {
// 配置连接
//URI示例: hosts="mqj4zouys.us-east-1.cloud.ultipa.com:60010"
let hosts = [
"192.168.1.85:60061",
"192.168.1.86:60061",
"192.168.1.87:60061",
];
let username = "***";
let password = "***";
let connPool = new ConnectionPool(hosts, username, password);
// 建立与数据库的连接
let conn = await connPool.getActive();
let isSuccess = await conn.test();
console.log(isSuccess);
// 配置请求
let requestConfig = <RequestType.RequestConfig>{
graphSetName: "Ad_Click",
useMaster: true,
};
// 获取图集Ad_Click的全部索引并打印其信息
let resp = await conn.showNodeIndex(requestConfig);
console.log(resp.data);
};
sdkUsage().then(console.log).catch(console.log);