本节为您介绍如何使用Connection
对象的方法管理属性的LTE状态、索引和全文索引。这些机制可用来加速查询。
每个示例主要展示如何使用所列方法。点击完整示例查看完整代码示例。
LTE
lte()
将点或边的一个自定义属性加载到嬴图高性能图计算引擎以加速查询。
参数:
DBType
:属性类型(点属性或边属性)。String
(可选):schema名称;忽略时选定全部schema。String
:属性名称。RequestConfig
(可选):配置请求。
返回值:
Response
:请求的结果。
// 将图集UltipaTeam的边属性@relatesTo.type加载到计算引擎并打印错误代码和LTE状态
RequestConfig requestConfig = new RequestConfig();
requestConfig.setGraphName("UltipaTeam");
Response response = client.lte(Ultipa.DBType.DBEDGE, "relatesTo", "type", requestConfig);
System.out.println(response.getStatus().getErrorCode());
Thread .sleep(3000);
Property property = client.getEdgeProperty("relatesTo", "type", requestConfig);
System.out.println("LTE status of the property: " + property.getLte());
SUCCESS
LTE status of the property: true
ufe()
将点或边的一个自定义属性从嬴图高性能图计算引擎卸载以节省内存。
参数:
DBType
:属性类型(点属性或边属性)。String
(可选):schema名称;忽略时选定全部schema。String
:属性名称。RequestConfig
(可选):配置请求。
返回值:
Response
:请求的结果。
// 将图集UltipaTeam的边属性@relatesTo.type从计算引擎卸载并打印错误代码和LTE状态
RequestConfig requestConfig = new RequestConfig();
requestConfig.setGraphName("UltipaTeam");
Response response = client.ufe(Ultipa.DBType.DBEDGE, "relatesTo", "type", requestConfig);
System.out.println(response.getStatus().getErrorCode());
Thread .sleep(3000);
Property property = client.getEdgeProperty("relatesTo", "type", requestConfig);
System.out.println("LTE status of the property: " + property.getLte());
SUCCESS
LTE status of the property: false
Index
showIndex()
获取当前图集全部点和边的属性索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
List<Index>
:从当前图集获取到的全部属性索引列表。
// 获取图集Ad_Click的属性索引并打印其信息
RequestConfig requestConfig = new RequestConfig();
requestConfig.setGraphName("Ad_Click");
requestConfig.setUseMaster(true);
List<Index> indexList = client.showIndex(requestConfig);
for (Index index : indexList) {
System.out.println(new Gson().toJson(index));
}
{"name":"shopping_level","properties":"shopping_level","schema":"user","status":"done","size":"4608287","dbType":"DBNODE"}
{"name":"price","properties":"price","schema":"ad","status":"done","size":"7828760","dbType":"DBNODE"}
{"name":"time","properties":"time","schema":"clicks","status":"done","size":"12811267","dbType":"DBEDGE"}
showNodeIndex()
获取当前图集全部点属性索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
List<Index>
:从当前图集获取到的全部点属性索引列表。
// 获取图集Ad_Click的点属性索引并打印其信息
RequestConfig requestConfig = new RequestConfig();
requestConfig.setGraphName("Ad_Click");
List<Index> indexList = client.showNodeIndex(requestConfig);
for (Index index : indexList) {
System.out.println(new Gson().toJson(index));
}
{"name":"shopping_level","properties":"shopping_level","schema":"user","status":"done","size":"4608287","dbType":"DBNODE"}
{"name":"price","properties":"price","schema":"ad","status":"done","size":"7828760","dbType":"DBNODE"}
showEdgeIndex()
获取当前图集全部边属性索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
List<Index>
:从当前图集获取到的全部边属性索引列表。
// 获取图集Ad_Click的边属性索引并打印其信息
RequestConfig requestConfig = new RequestConfig();
requestConfig.setGraphName("Ad_Click");
List<Index> indexList = client.showEdgeIndex(requestConfig);
for (Index index : indexList) {
System.out.println(new Gson().toJson(index));
}
{"name":"time","properties":"time","schema":"clicks","status":"done","size":"12811267","dbType":"DBEDGE"}
createIndex()
在当前图集创建一个新索引。
参数:
DBType
:属性类型(点属性或边属性)。String
(可选):schema名称。String
:属性名称。RequestConfig
(可选):配置请求。
返回值:
Response
:请求的结果。
// 在图集Ad_Click为全部点属性name新建索引并打印错误代码
RequestConfig requestConfig = new RequestConfig();
requestConfig.setGraphName("Ad_Click");
Response response = client.createIndex(Ultipa.DBType.DBNODE, "name", requestConfig);
System.out.println(response.getStatus().getErrorCode());
SUCCESS
dropIndex()
删除当前图集的索引。
参数:
DBType
:属性类型(点属性或边属性)。String
(可选):schema名称。String
:属性名称。RequestConfig
(可选):配置请求。
返回值:
Response
:请求的结果。
// 删除图集Ad_Click中点属性@ad.name的索引并打印错误代码
RequestConfig requestConfig = new RequestConfig();
requestConfig.setGraphName("Ad_Click");
Response response = client.dropIndex(Ultipa.DBType.DBNODE, "ad", "name", requestConfig);
System.out.println(response.getStatus().getErrorCode());
SUCCESS
Full-text
showFulltext()
获取当前图集的全部全文点索引和全文边索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
List<Index>
:从当前图集获取到的全部全文索引。
// 获取图集miniCircle的第一个全文索引并打印其信息。
RequestConfig requestConfig = new RequestConfig();
requestConfig.setGraphName("miniCircle");
List<Index> indexList = client.showFulltext(requestConfig);
System.out.println(new Gson().toJson(indexList.get(0)));
{"name":"genreFull","properties":"genre","schema":"movie","status":"done"}
showNodeFulltext()
获取当前图集的全部全文点索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
List<Index>
:从当前图集获取到的所有点属性全文索引列表。
// 获取图集miniCircle的第一个点属性全文索引并打印其信息
RequestConfig requestConfig = new RequestConfig();
requestConfig.setGraphName("miniCircle");
List<Index> indexList = client.showNodeFulltext(requestConfig);
System.out.println(new Gson().toJson(indexList.get(0)));
{"name":"genreFull","properties":"genre","schema":"movie","status":"done"}
showEdgeFulltext()
获取当前图集的全部全文边索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
List<Index>
:从当前图集获取到的全部边属性全文索引。
// 获取图集miniCircle的第一个边属性全文索引并打印其信息
RequestConfig requestConfig = new RequestConfig();
requestConfig.setGraphName("miniCircle");
List<Index> indexList = client.showEdgeFulltext(requestConfig);
System.out.println(new Gson().toJson(indexList.get(0)));
{"name":"contentFull","properties":"content","schema":"review","status":"done"}
createFulltext()
在当前图集创建一个全文索引。
参数:
DBType
:属性类型(点属性或边属性)。String
:schema名称。String
:属性名称。String
:全文索引名称。RequestConfig
(可选):配置请求。
返回值:
Response
:请求的结果。
// 在图集miniCircle中为属性@movie.name新建名为movieName的全文索引并打印错误代码
RequestConfig requestConfig = new RequestConfig();
requestConfig.setGraphName("miniCircle");
Response response = client.createFulltext(Ultipa.DBType.DBNODE, "movie", "name", "movieName", requestConfig);
System.out.println(response.getStatus().getErrorCode());
SUCCESS
dropFulltext()
删除当前图集的一个全文索引。
参数:
DBType
:属性类型(点属性或边属性)。String
:全文索引名称。RequestConfig
(可选):配置请求。
返回值:
Response
:请求的结果。
// 删除图集miniCircle的全文点索引movieName并打印错误代码
RequestConfig requestConfig = new RequestConfig();
requestConfig.setGraphName("miniCircle");
Response response = client.dropFulltext(Ultipa.DBType.DBNODE, "movieName", requestConfig);
System.out.println(response.getStatus().getErrorCode());
SUCCESS
完整示例
package com.ultipa.www.sdk.api;
import com.google.gson.Gson;
import com.ultipa.sdk.connect.Connection;
import com.ultipa.sdk.connect.conf.RequestConfig;
import com.ultipa.sdk.connect.conf.UltipaConfiguration;
import com.ultipa.sdk.connect.driver.UltipaClientDriver;
import com.ultipa.sdk.operate.entity.Index;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 配置连接
UltipaConfiguration myConfig = UltipaConfiguration.config()
// URI示例: .hosts("mqj4zouys.us-east-1.cloud.ultipa.com:60010")
.hosts("192.168.1.85:60611,192.168.1.87:60611,192.168.1.88:60611")
.username("<username>")
.password("<password>");
UltipaClientDriver driver = null;
try {
// 建立与数据库的连接
driver = new UltipaClientDriver(myConfig);
Connection client = driver.getConnection();
Thread.sleep(3000);
// 配置请求
RequestConfig requestConfig = new RequestConfig();
requestConfig.setGraphName("Ad_Click");
requestConfig.setUseMaster(true);
// 获取图集Ad_Click的全部索引并打印其信息
List<Index> indexList = client.showIndex(requestConfig);
for (Index index : indexList) {
System.out.println(new Gson().toJson(index));
}
} catch (InterruptedException e) {
throw new RuntimeException(e);
} finally {
if (driver != null) {
driver.close();
}
}
}
}