Une requête de distance géographique permet de spécifier une zone géographique circulaire, définie par un point central et un rayon, comme condition de recherche. Tablestore renvoie les lignes dont la valeur de la colonne spécifiée se situe dans cette zone circulaire.
Opérations API
Pour effectuer des requêtes de distance géographique, définissez le type de requête sur GeoDistanceQuery dans l'opération Search ou ParallelScan.
Paramètres
|
Paramètre |
Description |
|
fieldName |
Nom de la colonne à interroger. La valeur de ce paramètre est de type GEOPOINT. |
|
centerPoint |
Paire de coordonnées du point central, composée d'une latitude et d'une longitude. La valeur de ce paramètre doit respecter le format |
|
distanceInMeter |
Rayon de la zone géographique circulaire. La valeur de ce paramètre est de type DOUBLE. Unité : mètres. |
|
getTotalCount |
Indique si le nombre total de lignes correspondant aux conditions de la requête doit être renvoyé. La valeur par défaut est false, ce qui signifie que le nombre total n'est pas renvoyé. Si vous définissez ce paramètre sur true, les performances de la requête seront dégradées. |
|
query |
Instruction de requête pour l'index de recherche. Définissez ce paramètre sur GeoDistanceQuery. |
|
tableName |
Nom de la table de données. |
|
indexName |
Nom de l'index de recherche. |
|
columnsToGet |
Indique si toutes les colonnes de chaque ligne correspondant aux conditions de la requête doivent être renvoyées. Vous pouvez spécifier les champs returnAll et columns pour ce paramètre. La valeur par défaut du champ returnAll est false, ce qui signifie que toutes les colonnes ne sont pas renvoyées. Dans ce cas, utilisez le champ columns pour spécifier les colonnes à renvoyer. Si vous ne spécifiez aucune colonne, seules les colonnes de clé primaire sont renvoyées. Si vous définissez le champ returnAll sur true, toutes les colonnes sont renvoyées. |
Méthodes
Vous pouvez effectuer des requêtes de distance géographique via la console Tablestore, l'interface CLI Tablestore et les SDK Tablestore. Avant de commencer, assurez-vous que les conditions préalables suivantes sont remplies :
-
Utilisez un compte Alibaba Cloud ou un utilisateur RAM disposant des autorisations nécessaires pour les opérations Table Store. Pour accorder des autorisations à un utilisateur RAM, consultez la rubrique Accorder des autorisations à un utilisateur RAM à l'aide d'une stratégie RAM.
Si vous utilisez un SDK ou un outil en ligne de commande, créez une AccessKey pour votre compte Alibaba Cloud ou votre utilisateur RAM si vous n'en possédez pas déjà une.
Vous avez créé une table de données.
Un Search Index a été créé pour la table de données.
Si vous utilisez un SDK, initialisez le client Tablestore.
Si vous utilisez l'outil en ligne de commande, téléchargez et démarrez l'outil, puis configurez la connexion à votre instance et sélectionnez la table cible. Pour plus d'informations, consultez les rubriques Télécharger l'outil en ligne de commande, Démarrer l'outil et configurer les informations de connexion et Opérations sur les tables de données.
Facturation
L'interrogation de données à l'aide d'un index de recherche consomme du débit de lecture. Pour plus d'informations, consultez la rubrique Mesure et facturation de l'index de recherche.
FAQ
Références
L'index de recherche prend en charge divers types de requêtes pour les interrogations de données multidimensionnelles, notamment la requête term, la requête terms, la requête match all, la requête match, la requête phrase match, la requête range, la requête prefix, la requête suffix, la requête wildcard, la requête token-based wildcard, la requête boolean, la requête geo, la requête nested, la recherche vectorielle, et la requête exists.
Lors de l'interrogation des données, vous pouvez trier et paginer l'ensemble de résultats ou effectuer un pliage (déduplication).
Pour l'analyse des données, telle que la recherche de la valeur maximale ou minimale, le calcul d'une somme ou le comptage des lignes, vous pouvez utiliser les fonctionnalités d'agrégation statistique ou de requête SQL.
Pour exporter rapidement les données indépendamment de l'ordre de l'ensemble de résultats, vous pouvez utiliser la fonctionnalité Parallel Scan.