Tous les produits
Search
Centre de documentation

Tablestore:Requête avec caractères génériques

Dernière mise à jour :Aug 18, 2026

Lors d'une requête avec caractères génériques, utilisez les caractères astérisque () et point d'interrogation (?) pour rechercher des données. L'astérisque () remplace une chaîne de longueur variable avant, après ou autour d'un terme de recherche. Le point d'interrogation (?) remplace un seul caractère à une position donnée. La chaîne peut commencer par un astérisque () ou un point d'interrogation (?). Par exemple, la recherche de la chaîne « tablee » correspond au terme « tablestore ».

Si le modèle de requête est *word* (équivalent à WHERE field_a LIKE '%word%' en SQL), privilégiez la fonctionnalité de requêtes avec caractères génériques basées sur les jetons pour optimiser les performances. Les performances restent stables quelle que soit la volumétrie des données.

Remarque

Pour utiliser l'opérateur NOT LIKE, combinez WildcardQuery avec les requêtes must_not de BoolQuery.

Prérequis

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 à renvoyer par la requête actuelle.

get_total_count

Indique s'il faut renvoyer le nombre total de lignes correspondant aux conditions de requête. La valeur par défaut est false, ce qui signifie que le nombre total n'est pas renvoyé.

La définition du paramètre get_total_count sur true réduit les performances de la requête.

query_type

Type de requête. Définissez-le sur QueryTypeConst::WILDCARD_QUERY.

field_name

Nom de la colonne à interroger.

value

Chaîne contenant des caractères génériques. Sa longueur ne doit pas dépasser 32 caractères.

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. Configurez return_type et return_names pour ce paramètre.

  • Si vous définissez return_type sur ColumnReturnTypeConst::RETURN_SPECIFIED, utilisez return_names pour spécifier les colonnes à renvoyer.

  • Si vous définissez return_type sur ColumnReturnTypeConst::RETURN_ALL, toutes les colonnes sont renvoyées.

  • Si vous définissez return_type sur ColumnReturnTypeConst::RETURN_ALL_FROM_INDEX, toutes les colonnes de l'index de recherche sont renvoyées.

  • Si vous définissez return_type sur ColumnReturnTypeConst::RETURN_NONE, seules les colonnes de clé primaire sont renvoyées.

Exemples

L'exemple de code suivant montre comment interroger les données correspondant à la condition key* dans la colonne keyword d'une table.

$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::WILDCARD_QUERY,
            'query' => array(
                'field_name' => 'keyword',
                'value' => 'key*'
            )
        ),
        'sort' => array(
            array(
                'field_sort' => array(
                    'field_name' => 'keyword',
                    'order' => SortOrderConst::SORT_ORDER_ASC
                )
            ),
        )
    ),
    'columns_to_get' => array(
        'return_type' => ColumnReturnTypeConst::RETURN_SPECIFIED,
        'return_names' => array('keyword')
    )
);
$response = $otsClient->search($request);

FAQ

Références

  • Lors de l'interrogation de données via un index de recherche, vous pouvez recourir aux méthodes suivantes : requête term, requête terms, 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. Combinez ces méthodes pour interroger vos données selon plusieurs dimensions en fonction de vos besoins métier.

    Pour 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.

    Pour regrouper l'ensemble de 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. Pour plus d'informations, consultez la rubrique Regroupement (distinct).

  • Pour analyser les données d'une table (valeurs extrêmes, somme, nombre total de lignes, etc.), 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.

  • Pour obtenir rapidement toutes les lignes correspondant aux conditions de requête sans tri, appelez les opérations ParallelScan et ComputeSplits afin d'utiliser la fonctionnalité d'analyse parallèle. Pour plus d'informations, consultez la rubrique Analyse parallèle.