Cette section présente des méthodes sur un objet Connection
pour gérer l'état LTE pour les propriétés, et leurs indexes et full-text indexes. 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'Exmple Complet.
LTE
lte()
Charge une propriété personnalisée de nodes ou d'edges dans le moteur de calcul pour accélérer les requêtes.
Paramètres :
ULTIPA.DBType
: Type de la propriété (node ou edge).string
: Nom du schema, écrivez*
pour spécifier tous les schemas.string
: Nom de la propriété.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Retourne :
Response
: Résultat de la requête.
// Charge la propriété de l'edge @relatesTo.type dans le moteur du graphset 'UltipaTeam' et imprime le code d'erreur
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()
Décharge une propriété personnalisée de nodes ou d'edges du moteur de calcul pour économiser la mémoire.
Paramètres :
ULTIPA.DBType
: Type de la propriété (node ou edge).string
: Nom du schema, écrivez*
pour spécifier tous les schemas.string
: Nom de la propriété.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Retourne :
Response
: Résultat de la requête.
// Décharge la propriété de l'edge @relatesTo.type du moteur dans le graphset 'UltipaTeam' et imprime le code d'erreur
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()
Récupère tous les indexes des propriétés de nodes et d'edges du graphset courant.
Paramètres :
RequestConfig
(Optionnel): Paramètres de configuration pour la requête.
Retourne :
Index[]
: La liste de tous les indexes récupérés dans le graphset courant.
// Récupère les indexes dans le graphset 'Ad_Click' et affiche leurs informations
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()
Récupère tous les indexes des propriétés de nodes du graphset courant.
Paramètres :
RequestConfig
(Optionnel): Paramètres de configuration pour la requête.
Retourne :
Index[]
: La liste de tous les indexes de nodes récupérés dans le graphset courant.
// Récupère les indexes de nodes dans le graphset 'Ad_Click' et affiche leurs informations
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()
Récupère tous les indexes des propriétés d'edges du graphset courant.
Paramètres :
RequestConfig
(Optionnel): Paramètres de configuration pour la requête.
Retourne :
Index[]
: La liste de tous les indexes d'edges récupérés dans le graphset courant.
// Récupère les indexes d'edges dans le graphset 'Ad_Click' et affiche leurs informations
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()
Crée un nouvel index dans le graphset courant.
Paramètres :
ULTIPA.DBType
: Type de la propriété (node ou edge).string
(Optionnel): Nom du schema, écrivez*
pour spécifier tous les schemas.string
(Optionnel): Nom de la propriété.RequestConfig
(Optionnel): Paramètres de configuration pour la requête.
Retourne :
Response
: Résultat de la requête.
// Crée des indexes pour toutes les propriétés de nodes 'name' dans le graphset 'Ad_Click' et imprime le code d'erreur
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()
Supprime des indexes dans le graphset courant.
Paramètres :
ULTIPA.DBType
: Type de la propriété (node ou edge).string
(Optionnel): Nom du schema.string
: Nom de la propriété.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Retourne :
Response
: Résultat de la requête.
// Supprime l'index de la propriété de node @ad.name dans le graphset 'Ad_Click' et imprime le code d'erreur
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()
Récupère tous les full-text indexes des propriétés de nodes et d'edges du graphset courant.
Paramètres :
RequestConfig
(Optionnel): Paramètres de configuration pour la requête.
Retourne :
Index[]
: La liste de tous les full-text indexes récupérés dans le graphset courant.
// Récupère le premier full-text index retourné dans le graphset 'miniCircle' et affiche ses informations
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()
Récupère tous les full-text indexes des propriétés de nodes du graphset courant.
Paramètres :
RequestConfig
(Optionnel): Paramètres de configuration pour la requête.
Retourne :
Index[]
: La liste de tous les full-text indexes de nodes récupérés dans le graphset courant.
// Récupère le premier full-text index de node retourné dans le graphset 'miniCircle' et affiche ses informations
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()
Récupère tous les full-text indexes des propriétés d'edges du graphset courant.
Paramètres :
RequestConfig
(Optionnel): Paramètres de configuration pour la requête.
Retourne :
Index[]
: La liste de tous les full-text indexes d'edges récupérés dans le graphset courant.
// Récupère le premier full-text index d'edge retourné dans le graphset 'miniCircle' et affiche ses informations
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()
Crée un nouvel full-text index dans le graphset courant.
Paramètres :
ULTIPA.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.
Retourne :
Response
: Résultat de la requête.
// Crée l'index full-text appelé 'movieName' pour la propriété @movie.name dans le graphset 'miniCircle' et imprime le code d'erreur
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()
Supprime un full-text index dans le graphset courant.
Paramètres :
string
: Nom du full-text index.ULTIPA.DBType
: Type de la propriété (node ou edge).RequestConfig
(Optionnel): Paramètres de configuration pour la requête.
Retourne :
Response
: Résultat de la requête.
// Supprime le full-index de node 'movieName' dans le graphset 'miniCircle' et imprime le code d'erreur
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
Exmple Complet
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 () => {
// Configurations de connection
//URI exemple: 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);
// Établit la connection à la base de données
let conn = await connPool.getActive();
let isSuccess = await conn.test();
console.log(isSuccess);
// Configurations de requête
let requestConfig = <RequestType.RequestConfig>{
graphSetName: "Ad_Click",
useMaster: true,
};
// Récupère tous les indexes dans le graphset 'Ad_Click' et affiche leurs informations
let resp = await conn.showNodeIndex(requestConfig);
console.log(resp.data);
};
sdkUsage().then(console.log).catch(console.log);