本节为您介绍如何使用Connection
对象的方法管理属性的LTE状态、索引和全文索引。这些机制可用来加速查询。
每个示例主要展示如何使用所列方法。点击完整示例查看完整代码示例。
LTE
lte()
将点或边的一个自定义属性加载到嬴图高性能图计算引擎以加速查询。
参数:
DBType
:属性类型(点属性或边属性)。str
:属性名称。str
(可选):schema名称;忽略时选定全部schema。RequestConfig
(可选):配置请求。
返回值:
UltipaResponse
:请求的结果。
# 将图集UltipaTeam的边属性@relatesTo.type加载到计算引擎并打印错误代码和LTE状态
requestConfig = RequestConfig(graphName="UltipaTeam")
response = Conn.lte(DBType.DBEDGE, 'type', 'relatesTo', requestConfig)
print(response.status.code)
0
ufe()
将点或边的一个自定义属性从嬴图高性能图计算引擎卸载以节省内存。
参数:
DBType
:属性类型(点属性或边属性)。str
:属性名称。str
(可选):schema名称;忽略时选定全部schema。RequestConfig
(可选):配置请求。
返回值:
Response
:请求的结果。
# 将图集UltipaTeam的边属性@relatesTo.type从计算引擎卸载并打印错误代码和LTE状态
requestConfig = RequestConfig(graphName="UltipaTeam")
response = Conn.ufe(DBType.DBEDGE, 'type', 'relatesTo', requestConfig)
print(response.status.code)
0
Index
showIndex()
获取当前图集全部点和边的属性索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
List[Index]
:从当前图集获取到的全部属性索引列表。
# 获取图集Ad_Click的属性索引并打印其信息
requestConfig = RequestConfig(graphName="Ad_Click")
indexList = Conn.showIndex(requestConfig)
for index in indexList:
print(index.toJSON())
{"DBType": 0, "name": "shopping_level", "properties": "shopping_level", "schema": "user", "size": "4608287", "status": "done"}
{"DBType": 0, "name": "price", "properties": "price", "schema": "ad", "size": "5416241", "status": "done"}
{"DBType": 1, "name": "time", "properties": "time", "schema": "clicks", "size": "12811267", "status": "done"}
showNodeIndex()
获取当前图集全部点属性索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
List[Index]
:从当前图集获取到的全部点属性索引列表。
# 获取图集Ad_Click的点属性索引并打印其信息
requestConfig = RequestConfig(graphName="Ad_Click")
indexList = Conn.showNodeIndex(requestConfig)
for index in indexList:
print(index.toJSON())
{"DBType": 0, "name": "shopping_level", "properties": "shopping_level", "schema": "user", "size": "4608287", "status": "done"}
{"DBType": 0, "name": "price", "properties": "price", "schema": "ad", "size": "5416241", "status": "done"}
showEdgeIndex()
获取当前图集全部边属性索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
List[Index]
:从当前图集获取到的全部边属性索引列表。
# 获取图集Ad_Click的边属性索引并打印其信息
requestConfig = RequestConfig(graphName="Ad_Click")
indexList = Conn.showEdgeIndex(requestConfig)
for index in indexList:
print(index.toJSON())
{"DBType": 1, "name": "time", "properties": "time", "schema": "clicks", "size": "12811267", "status": "done"}
createIndex()
在当前图集创建一个新索引。
参数:
DBType
:属性类型(点属性或边属性)。str
:属性名称。str
(可选):schema名称。RequestConfig
(可选):配置请求。
返回值:
UltipaResponse
:请求的结果。
# 在图集Ad_Click为全部点属性name新建索引并打印错误代码
requestConfig = RequestConfig(graphName="Ad_Click")
response = Conn.createIndex(DBType.DBNODE, 'name', None, requestConfig)
print(response.status.code)
0
dropIndex()
删除当前图集的索引。
参数:
DBType
:属性类型(点属性或边属性)。str
:属性名称。str
(可选):schema名称。RequestConfig
(可选):配置请求。
返回值:
UltipaResponse
:请求的结果。
# 删除图集Ad_Click中点属性@ad.name的索引并打印错误代码
requestConfig = RequestConfig(graphName="Ad_Click")
response = Conn.dropIndex(DBType.DBNODE, 'name', 'ad', requestConfig)
print(response.status.code)
0
Full-text
showFulltext()
获取当前图集的全部全文点索引和全文边索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
List[Index]
:从当前图集获取到的全部全文索引。
# 获取图集miniCircle的第一个全文索引并打印其信息。
requestConfig = RequestConfig(graphName="miniCircle")
fulltextList = Conn.showFulltext(requestConfig)
print(fulltextList[0].toJSON())
{"DBType": 0, "name": "genreFull", "properties": "genre", "schema": "movie", "size": "", "status": "done"}
showNodeFulltext()
获取当前图集的全部全文点索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
List[Index]
:从当前图集获取到的全部全文点索引。
# 获取图集miniCircle的第一个全文点索引并打印其信息
requestConfig = RequestConfig(graphName="miniCircle")
nodeFulltextList = Conn.showNodeFulltext(requestConfig)
print(nodeFulltextList[0].toJSON())
{"DBType": 0, "name": "genreFull", "properties": "genre", "schema": "movie", "size": "", "status": "done"}
showEdgeFulltext()
获取当前图集的全部全文边索引。
参数:
RequestConfig
(可选):配置请求。
返回值:
List[Index]
:从当前图集获取到的全部全文边索引。
# 获取图集miniCircle的第一个全文边索引并打印其信息
requestConfig = RequestConfig(graphName="miniCircle")
edgeFulltextList = Conn.showEdgeFulltext(requestConfig)
print(edgeFulltextList[0].toJSON())
{"DBType": 1, "name": "nameFull", "properties": "content", "schema": "review", "size": "", "status": "done"}
createFulltext()
在当前图集创建一个全文索引。
参数:
DBType
:属性类型(点属性或边属性)。str
:schema名称。str
:属性名称。str
:全文索引名称。RequestConfig
(可选):配置请求。
返回值:
Response
:请求的结果。
# 在图集miniCircle中为属性@movie.name新建名为movieName的全文索引并打印错误代码
requestConfig = RequestConfig(graphName="miniCircle")
response = Conn.createFulltext(DBType.DBNODE, 'movie', 'name', 'movieName', requestConfig)
print(response.status.code)
0
dropFulltext()
删除当前图集的一个全文索引。
参数:
DBType
:属性类型(点属性或边属性)。str
:全文索引名称。RequestConfig
(Optional):Configuration settings for the request.
返回值:
UltipaResponse
:请求的结果。
# 删除图集miniCircle的全文点索引movieName并打印错误代码
requestConfig = RequestConfig(graphName="miniCircle")
response = Conn.dropFulltext(ultipa.DBType.DBNODE,'movieName',requestConfig)
print(response.status.code)
0
完整示例
from ultipa import Connection, UltipaConfig
from ultipa.configuration.RequestConfig import RequestConfig
ultipaConfig = UltipaConfig()
# URI示例:ultipaConfig.hosts = ["mqj4zouys.us-east-1.cloud.ultipa.com:60010"]
ultipaConfig.hosts = ["192.168.1.85:60061", "192.168.1.87:60061", "192.168.1.88:60061"]
ultipaConfig.username = "<username>"
ultipaConfig.password = "<password>"
Conn = Connection.NewConnection(defaultConfig=ultipaConfig)
# 配置连接
requestConfig = RequestConfig(graphName="Ad_Click")
# 获取图集Ad_Click的全部索引并打印其信息
indexList = Conn.showIndex(requestConfig)
for index in indexList:
print(index.toJSON())