Utilisez la requête de correspondance totale pour faire correspondre toutes les lignes d'une table, afin d'interroger le nombre total de lignes ou de renvoyer plusieurs lignes aléatoires.
Prérequis
Initialisez une instance OTSClient. Pour plus d'informations, consultez la rubrique Initialiser une instance OTSClient.
Créez une table de données et écrivez-y des données. Pour plus d'informations, consultez les rubriques Créer une table de données et Écrire des données.
Créez un index de recherche pour la table de données. Pour plus d'informations, consultez la rubrique Créer un index de recherche.
Paramètres
|
Paramètre |
Description |
|
table_name |
Nom de la table de données. |
|
index_name |
Nom de l'index de recherche. |
|
offset |
Position à partir de laquelle la requête actuelle commence. |
|
limit |
Nombre maximal de lignes que la requête actuelle doit renvoyer. Pour interroger uniquement le nombre de lignes correspondant aux conditions de requête sans renvoyer de données spécifiques, définissez Limit sur 0. Tablestore renvoie alors le nombre de lignes correspondant aux conditions de requête sans les données spécifiques de la table. |
|
get_total_count |
Indique s'il faut renvoyer le nombre total de lignes correspondant aux conditions de requête. La valeur par défaut de ce paramètre est false, ce qui signifie que le nombre total de lignes n'est pas renvoyé. Si ce paramètre est défini sur true, les performances de la requête sont dégradées. |
|
collapse |
Spécifie que les résultats renvoyés sont regroupés (collapsed) en fonction de la colonne spécifiée. |
|
query_type |
Type de requête. Pour utiliser la requête de correspondance totale, définissez ce paramètre sur |
|
sort |
Méthode de tri des lignes dans la réponse. Pour plus d'informations, consultez la rubrique Tri et pagination. |
|
columns_to_get |
Indique s'il faut renvoyer toutes les colonnes de chaque ligne correspondant aux conditions de requête. Vous pouvez configurer return_type et return_names pour ce paramètre.
|
Exemples
L'exemple de code suivant montre comment utiliser un index de recherche pour obtenir jusqu'à 10 enregistrements de mots-clés uniques dans la table php_sdk_test et renvoyer les données des colonnes col1 et col2.
$request = array(
'table_name' => 'php_sdk_test',
'index_name' => 'php_sdk_test_search_index',
'search_query' => array(
'offset' => 0,
'limit' => 10,
'get_total_count' => true,
'collapse' => array(
'field_name' => 'keyword'
),
'query' => array(
'query_type' => QueryTypeConst::MATCH_ALL_QUERY
),
// 'sort' => array(// Specify a specific sorting method if required.
// array(
// 'field_sort' => array(
// 'field_name' => 'keyword',
// 'order' => SortOrderConst::SORT_ORDER_ASC
// )
// ),
// ),
'token' => null,
),
'columns_to_get' => array(
'return_type' => ColumnReturnTypeConst::RETURN_SPECIFIED,
'return_names' => array('col1', 'col2')
)
);
$response = $otsClient->search($request);
FAQ
Références
-
Lorsque vous utilisez un index de recherche pour interroger des données, vous pouvez recourir aux méthodes de requête suivantes : requête term, requête terms, requête de correspondance totale, requête de correspondance, requête de correspondance de phrase, requête de préfixe, requête de plage, requête avec caractère générique, requête booléenne, requête géographique, requête imbriquée et requête exists. Vous pouvez utiliser différentes méthodes de requête pour interroger des données selon plusieurs dimensions en fonction de vos besoins métier.
Si vous souhaitez trier ou paginer les lignes correspondant aux conditions de requête, utilisez la fonctionnalité de tri et de pagination. Pour plus d'informations, consultez la rubrique Tri et pagination.
Si vous souhaitez regrouper l'ensemble des résultats en fonction d'une colonne spécifique, utilisez la fonctionnalité de regroupement (distinct). De cette manière, les données du type spécifié n'apparaissent qu'une seule fois dans les résultats de la requête. Pour plus d'informations, consultez la rubrique Regroupement (distinct).
Si vous souhaitez analyser les données d'une table de données, par exemple pour obtenir les valeurs extrêmes, la somme et le nombre total de lignes, effectuez des opérations d'agrégation ou exécutez des instructions SQL. Pour plus d'informations, consultez les rubriques Agrégation et Requête SQL.
Si vous souhaitez obtenir rapidement toutes les lignes correspondant aux conditions de requête sans avoir besoin de les trier, appelez les opérations ParallelScan et ComputeSplits pour utiliser la fonctionnalité d'analyse parallèle. Pour plus d'informations, consultez la rubrique Analyse parallèle.