Accélération des Requêtes
Cette section présente des méthodes sur un objet Connection
pour gérer le statut LTE pour les propriétés, et leurs indexes et indexes full-text. Ces mécanismes peuvent être utilisés pour accélérer les requêtes.
Chaque exemple se concentre uniquement sur l'utilisation de la méthode. Pour un exemple de code complet, veuillez vous référer à l'exemple complet.
LTE
Lte()
Charge une propriété personnalisée de nodes ou de edges dans le moteur de calcul pour accélérer les requêtes.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
: Nom du schema, inscrire*
pour spécifier tous les schemas.string
: Nom de la propriété.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Retourne :
Response
: Résultat de la requête.error
: Un objet d'erreur contenant des détails sur tout problème survenu.nil
est retourné si l'opération est réussie.
// Charge la propriété edge @relatesTo.type dans le moteur dans le graphset 'UltipaTeam' et imprime le code d'erreur
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
resp, _ := conn.Lte(ultipa.DBType_DBEDGE, "relatesTo", "type", requestConfig)
print("Operation succeeds:", resp.Status.IsSuccess())
Operation succeeds:true
Ufe()
Décharge une propriété personnalisée de nodes ou de edges du moteur de calcul pour économiser la mémoire.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
: Nom du schema, inscrire*
pour spécifier tous les schemas.string
: Nom de la propriété.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Retourne :
Response
: Résultat de la requête.error
: Un objet d'erreur contenant des détails sur tout problème survenu.nil
est retourné si l'opération est réussie.
// Décharge la propriété edge @relatesTo.type du moteur dans le graphset 'UltipaTeam' et imprime le code d'erreur
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
resp, _ := conn.Ufe(ultipa.DBType_DBEDGE, "relatesTo", "type", requestConfig)
print("Operation succeeds:", resp.Status.IsSuccess())
Operation succeeds:true
Index
ShowIndex()
Récupère tous les indexes des propriétés de node et de edge du graphset actuel.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Retourne :
[]Index
: La liste de tous les indexes récupérés dans le graphset actuel.error
: Un objet d'erreur contenant des détails sur tout problème survenu.nil
est retourné si l'opération est réussie.
// Récupère les indexes dans le graphset 'Ad_Click' et imprime leurs informations
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "Ad_Click",
}
indexList, err := conn.ShowIndex(requestConfig)
if err != nil {
println(err)
}
for i := 0; i < len(indexList); i++ {
println(utils.JSONString(indexList[i]))
}
{"Name":"shopping_level","Properties":"shopping_level","Schema":"user","Status":"done","Size":4608287,"Type":"node"}
{"Name":"price","Properties":"price","Schema":"ad","Status":"done","Size":7828760,"Type":"node"}
{"Name":"time","Properties":"time","Schema":"clicks","Status":"done","Size":12811267,"Type":"edge"}
ShowNodeIndex()
Récupère tous les indexes des propriétés de node du graphset actuel.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Retourne :
[]Index
: La liste de tous les indexes récupérés dans le graphset actuel.error
: Un objet d'erreur contenant des détails sur tout problème survenu.nil
est retourné si l'opération est réussie.
// Récupère les indexes des nodes dans le graphset 'Ad_Click' et imprime leurs informations
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "Ad_Click",
}
indexList, err := conn.ShowNodeIndex(requestConfig)
if err != nil {
println(err)
}
for i := 0; i < len(indexList); i++ {
println(utils.JSONString(indexList[i]))
}
{"Name":"shopping_level","Properties":"shopping_level","Schema":"user","Status":"done","Size":4608287,"Type":"node"}
{"Name":"price","Properties":"price","Schema":"ad","Status":"done","Size":7828760,"Type":"node"}
ShowEdgeIndex()
Récupère tous les indexes des propriétés de edge du graphset actuel.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Retourne :
[]Index
: La liste de tous les indexes récupérés dans le graphset actuel.error
: Un objet d'erreur contenant des détails sur tout problème survenu.nil
est retourné si l'opération est réussie.
// Récupère les indexes des edges dans le graphset 'Ad_Click' et imprime leurs informations
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "Ad_Click",
}
indexList, err := conn.ShowEdgeIndex(requestConfig)
if err != nil {
println(err)
}
for i := 0; i < len(indexList); i++ {
println(utils.JSONString(indexList[i]))
}
{"Name":"time","Properties":"time","Schema":"clicks","Status":"done","Size":12811267,"Type":"edge"}
CreateIndex()
Crée un nouvel index dans le graphset actuel.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
: Nom du schema, inscrire*
pour spécifier tous les schemas.string
: Nom de la propriété.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Retourne :
Response
: Résultat de la requête.error
: Un objet d'erreur contenant des détails sur tout problème survenu.nil
est retourné si l'opération est réussie.
// Crée des indexes pour toutes les propriétés node 'name' dans le graphset 'Ad_Click' et imprime le code d'erreur
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "Ad_Click",
}
indexList, err := conn.CreateIndex(ultipa.DBType_DBNODE, "*", "name", requestConfig)
if err != nil {
println(err)
}
println("Operation succeeds:", indexList.Status.IsSuccess())
Operation succeeds: true
DropIndex()
Supprime les indexes dans le graphset actuel.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
: Nom du schema.string
: Nom de la propriété.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Retourne :
Response
: Résultat de la requête.error
: Un objet d'erreur contenant des détails sur tout problème survenu.nil
est retourné si l'opération est réussie.
// Supprime l'index de la propriété node @ad.name dans le graphset 'Ad_Click' et imprime le code d'erreur
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "Ad_Click",
}
indexList, err := conn.DropIndex(ultipa.DBType_DBNODE, "ad", "name", requestConfig)
if err != nil {
println(err)
}
println("Operation succeeds:", indexList.Status.IsSuccess())
Operation succeeds: true
Full-text
ShowFullText()
Récupère tous les indexes full-text des propriétés de node et de edge du graphset actuel.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Retourne :
[]Index
: La liste de tous les indexes récupérés dans le graphset actuel.error
: Un objet d'erreur contenant des détails sur tout problème survenu.nil
est retourné si l'opération est réussie.
// Récupère le premier index full-text retourné dans le graphset 'miniCircle' et imprime ses informations
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "miniCircle",
}
indexList, err := conn.ShowFullText(requestConfig)
if err != nil {
println(err)
}
println(utils.JSONString(indexList[0]))
{"Name":"genreFull","Properties":"genre","Schema":"movie","Status":"done","Size":0,"Type":""}
ShowNodeFullText()
Récupère tous les indexes full-text des propriétés de node du graphset actuel.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Retourne :
[]Index
: La liste de tous les indexes récupérés dans le graphset actuel.error
: Un objet d'erreur contenant des détails sur tout problème survenu.nil
est retourné si l'opération est réussie.
// Récupère le premier index full-text de node retourné dans le graphset 'miniCircle' et imprime ses informations
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "miniCircle",
}
indexList, err := conn.ShowNodeFullText(requestConfig)
if err != nil {
println(err)
}
println(utils.JSONString(indexList[0]))
{"Name":"genreFull","Properties":"genre","Schema":"movie","Status":"done","Size":0,"Type":""}
ShowEdgeFullText()
Récupère tous les indexes full-text des propriétés de edge du graphset actuel.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Retourne :
[]Index
: La liste de tous les indexes récupérés dans le graphset actuel.error
: Un objet d'erreur contenant des détails sur tout problème survenu.nil
est retourné si l'opération est réussie.
// Récupère le premier index full-text de edge retourné dans le graphset 'miniCircle' et imprime ses informations
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "miniCircle",
}
indexList, err := conn.ShowEdgeFullText(requestConfig)
if err != nil {
println(err)
}
println(utils.JSONString(indexList[0]))
{"Name":"nameFull","Properties":"content","Schema":"review","Status":"done","Size":0,"Type":""}
CreateFullText()
Crée un nouvel index full-text dans le graphset actuel.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
: Nom du schema.string
: Nom de la propriété.string
: Nom de l'index full-text.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Retourne :
Response
: Résultat de la requête.error
: Un objet d'erreur contenant des détails sur tout problème survenu.nil
est retourné si l'opération est réussie.
// Crée un index full-text appelé 'movieName' pour la propriété @movie.name dans le graphset 'miniCircle' et imprime le code d'erreur
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "miniCircle",
}
indexList, err := conn.CreateFullText(ultipa.DBType_DBNODE, "movie", "name", "movieName", requestConfig)
if err != nil {
println(err)
}
println("Operation succeeds:", indexList.Status.IsSuccess())
Operation succeeds: true
DropFullText()
Supprime un index full-text dans le graphset actuel.
Paramètres :
string
: Nom de l'index full-text.DBType
: Type de la propriété (node ou edge).RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Retourne :
Response
: Résultat de la requête.error
: Un objet d'erreur contenant des détails sur tout problème survenu.nil
est retourné si l'opération est réussie.
// Supprime l'index full-text 'movieName' de node dans le graphset 'miniCircle' et imprime le code d'erreur
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "miniCircle",
}
indexList, err := conn.DropFullText("movieName", ultipa.DBType_DBNODE, requestConfig)
if err != nil {
println(err)
}
println("Operation succeeds:", indexList.Status.IsSuccess())
Operation succeeds: true
Exemple Complet
package main
import (
ultipa "github.com/ultipa/ultipa-go-sdk/rpc"
"github.com/ultipa/ultipa-go-sdk/sdk"
"github.com/ultipa/ultipa-go-sdk/sdk/configuration"
"github.com/ultipa/ultipa-go-sdk/sdk/structs"
"github.com/ultipa/ultipa-go-sdk/utils"
)
func main() {
// Configurations de connexion
//Exemple URI: hosts="mqj4zouys.us-east-1.cloud.ultipa.com:60010"
config, _ := configuration.NewUltipaConfig(&configuration.UltipaConfig{
Hosts: []string{"192.168.1.85:60061", "192.168.1.86:60061", "192.168.1.87:60061"},
Username: "***",
Password: "***",
})
// Établit une connexion à la base de données
conn, _ := sdk.NewUltipa(config)
// Configurations de requête
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "Ad_Click",
}
// Récupère tous les indexes dans le graphset 'Ad_Click' et imprime leurs informations
indexList, err := conn.ShowIndex(requestConfig)
if err != nil {
println(err)
}
for i := 0; i < len(indexList); i++ {
println(utils.JSONString(indexList[i]))
}
};