Une requête par termes est similaire à une requête par terme, mais elle prend en charge plusieurs termes. Une ligne de données est renvoyée si au moins l'un des mots-clés correspond à la valeur de la colonne spécifiée. Les requêtes par termes s'utilisent comme l'opérateur IN dans les instructions SQL.
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 de départ de la requête actuelle. |
|
limit |
Nombre maximal de lignes que la requête actuelle doit renvoyer. Pour interroger uniquement le nombre de lignes correspondant aux conditions de la requête sans récupérer les données spécifiques de ces lignes, définissez le paramètre limit sur 0. |
|
get_total_count |
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 de lignes n'est pas renvoyé. Si vous définissez ce paramètre sur true, les performances de la requête sont réduites. |
|
query_type |
Type de la requête. Définissez ce paramètre sur |
|
field_name |
Nom de la colonne à interroger. |
|
terms |
Mots-clés utilisés pour faire correspondre la valeur de la colonne lors d'une requête par termes. Une ligne de données est renvoyée si au moins l'un des mots-clés correspond à la valeur de la colonne. |
|
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 si toutes les colonnes des lignes correspondant aux conditions de la requête doivent être renvoyées. Vous pouvez spécifier les paramètres return_type et return_names.
|
Exemple
L'exemple de code suivant montre comment interroger les lignes dont la valeur de la colonne keyword est « keyword » ou « php » dans la table de données.
$request = array(
'table_name' => 'php_sdk_test',
'index_name' => 'php_sdk_test_search_index',
'search_query' => array(
'offset' => 0,
'limit' => 5,
'get_total_count' => true,
'query' => array(
'query_type' => QueryTypeConst::TERMS_QUERY,
'query' => array(
'field_name' => 'keyword',
'terms' => array(
"keyword",
"php"
)
)
),
'sort' => array(
array(
'field_sort' => array(
'field_name' => 'long',
'order' => SortOrderConst::SORT_ORDER_DESC,
'mode' => SortModeConst::SORT_MODE_AVG
)
)
)
),
'columns_to_get' => array(
'return_type' => ColumnReturnTypeConst::RETURN_SPECIFIED,
'return_names' => array('keyword', 'long')
)
);
$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 par terme, requête par termes, requête match all, requête match, requête match phrase, requête prefix, requête range, requête wildcard, requête booléenne, requête geo, requête nested et requête exists. Vous pouvez utiliser différentes méthodes de requête pour interroger les données selon plusieurs dimensions en fonction de vos besoins métier.
Si vous souhaitez trier ou paginer les lignes correspondant aux conditions de la requête, vous pouvez utiliser 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, vous pouvez utiliser la fonctionnalité de regroupement (distinct). Ainsi, 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, vous pouvez effectuer des opérations d'agrégation ou exécuter 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 la requête sans avoir besoin de les trier, vous pouvez appeler les opérations ParallelScan et ComputeSplits pour utiliser la fonctionnalité d'analyse parallèle. Pour plus d'informations, consultez la rubrique Analyse parallèle.