Effectuez une requête de préfixe pour interroger les données correspondant au préfixe spécifié. Si la colonne utilisée pour la condition de préfixe est de type TEXT, elle est tokenisée. Une ligne satisfait aux conditions de la requête si au moins un jeton contient le préfixe spécifié.
Prérequis
Initialisez une instance OTSClient. Pour plus d'informations, consultez Initialiser une instance OTSClient.
Créez une table de données et écrivez-y des données. Pour plus d'informations, consultez 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 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 satisfaisant aux conditions de la requête sans récupérer les données spécifiques des lignes, définissez ce paramètre sur 0. |
|
get_total_count |
Indique s'il faut renvoyer le nombre total de lignes satisfaisant aux conditions de la requête. Valeur par défaut : false. La valeur false indique 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. |
|
query_type |
Type de requête. Pour utiliser une requête de préfixe, définissez ce paramètre sur |
|
field_name |
Nom de la colonne à interroger. |
|
prefix |
Préfixe. Si la colonne utilisée pour la condition de préfixe est de type TEXT, elle est tokenisée. Une ligne satisfait aux conditions de la requête si au moins un jeton contient le préfixe spécifié. |
|
sort |
Méthode de tri des lignes dans la réponse. Pour plus d'informations, consultez Tri et pagination. |
|
columns_to_get |
Indique s'il faut renvoyer toutes les colonnes de chaque ligne satisfaisant aux conditions de la requête. Vous pouvez configurer return_type et return_names pour ce paramètre.
|
Exemples
L'exemple de code suivant montre comment interroger toutes les lignes contenant le préfixe « key » dans la colonne keyword d'une table de données.
$request = array(
'table_name' => 'php_sdk_test',
'index_name' => 'php_sdk_test_search_index',
'search_query' => array(
'offset' => 0,
'limit' => 2,
'get_total_count' => true,
'query' => array(
'query_type' => QueryTypeConst::PREFIX_QUERY,
'query' => array(
'field_name' => 'keyword',
'prefix' => 'key'
)
),
'sort' => array(
array(
'field_sort' => array(
'field_name' => 'keyword',
'order' => SortOrderConst::SORT_ORDER_ASC
)
),
)
),
'columns_to_get' => array(
'return_type' => ColumnReturnTypeConst::RETURN_ALL,
'return_names' => array('keyword')
)
);
$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 match all, requête match, requête match phrase, requête de préfixe, 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 des données selon plusieurs dimensions en fonction de vos besoins métier.
Pour trier ou paginer les lignes satisfaisant aux conditions de la requête, utilisez la fonctionnalité de tri et de pagination. Pour plus d'informations, consultez Tri et pagination.
Pour regrouper l'ensemble des résultats en fonction d'une colonne spécifique, utilisez 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 Regroupement (distinct).
Pour 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 Agrégation et Requête SQL.
Pour obtenir rapidement toutes les lignes satisfaisant aux conditions de la 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 Analyse parallèle.