Une requête Match All avec le SDK Tablestore pour Java correspond à toutes les lignes d'un index de recherche et renvoie les lignes correspondantes ou leur nombre total.
Prérequis
Installez le SDK Tablestore pour Java et initialisez le client.
Description de la fonctionnalité
Une requête Match All correspond à toutes les données d'un index de recherche sans spécifier de champ ni de valeur de filtrage. Lors de l'appel à search, définissez le type de requête sur MatchAllQuery et utilisez SearchQuery pour configurer le nombre de lignes renvoyées, le suivi du nombre total ainsi que d'autres comportements de requête courants.
SearchResponse search(SearchRequest request)
L'exemple suivant correspond à toutes les lignes d'un index de recherche et renvoie jusqu'à 10 lignes ainsi que le nombre total de lignes correspondantes.
String tableName = "example_table";
String indexName = "example_index";
SearchQuery searchQuery = new SearchQuery();
searchQuery.setQuery(new MatchAllQuery());
searchQuery.setLimit(10);
searchQuery.setTrackTotalCount(SearchQuery.TRACK_TOTAL_COUNT);
SearchRequest request = new SearchRequest(tableName, indexName, searchQuery);
SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
columnsToGet.setReturnAll(true);
request.setColumnsToGet(columnsToGet);
SearchResponse response = client.search(request);
System.out.println(response.getTotalCount());
System.out.println(response.getRows());
MatchAllQuery attribue le même score de pertinence à chaque ligne correspondante. Sans ordre de tri explicite, l'ordre des lignes n'est pas garanti. Pour récupérer uniquement le nombre total, définissez limit sur 0. Le serveur ne renvoie alors aucune ligne. Le suivi du nombre total augmente la charge de la requête.
Paramètres
Requête de recherche
request est un objet SearchRequest qui contient les paramètres suivants.
|
Nom |
Type |
Description |
|
tableName (obligatoire) |
String |
Le nom de la table. |
|
indexName (obligatoire) |
String |
Le nom de l'index de recherche. |
|
searchQuery (obligatoire) |
SearchQuery |
La condition de requête et les paramètres de requête courants. |
|
columnsToGet (facultatif) |
SearchRequest.ColumnsToGet |
Les paramètres des colonnes renvoyées. Si vous omettez ce paramètre, seules les colonnes de clé primaire sont renvoyées. |
|
timeoutInMillisecond (facultatif) |
int |
Le délai d'expiration de la requête au niveau de la demande, en millisecondes. La valeur par défaut est |
|
routingValues (facultatif) |
|
Les valeurs de clé primaire pour les champs de routage personnalisés. Omettez ce paramètre si l'index n'utilise pas de routage personnalisé. |
Paramètres de requête
request.searchQuery est un objet SearchQuery qui contient les paramètres suivants.
|
Nom |
Type |
Description |
|
query (obligatoire) |
Query |
La condition de requête. Définissez ce paramètre sur |
|
offset (facultatif) |
Integer |
La position de départ de la requête. |
|
limit (facultatif) |
Integer |
Le nombre maximal de lignes à renvoyer. Définissez ce paramètre sur |
|
collapse (facultatif) |
Collapse |
Les paramètres de regroupement (collapse), qui dédupliquent les résultats selon un champ spécifié. Pour plus de détails sur la configuration, consultez Regrouper les résultats de requête. |
|
sort (facultatif) |
Sort |
L'ordre de tri des résultats. Pour plus de détails sur la configuration, consultez Trier et paginer les résultats. |
|
trackTotalCount (facultatif) |
int |
Le nombre maximal attendu de lignes correspondantes à compter. La valeur par défaut est |
|
filter (facultatif) |
SearchFilter |
Un filtre appliqué aux résultats de |
|
aggregationList (facultatif) |
|
Les paramètres d'agrégation. Pour plus de détails sur la configuration, consultez Agrégation. |
|
groupByList (facultatif) |
|
Les paramètres de regroupement. Pour plus de détails sur la configuration, consultez Agrégation. |
|
token (facultatif) |
byte[] |
Le jeton de pagination. Définissez ce paramètre sur la valeur |
Condition de requête
request.searchQuery.query est un objet MatchAllQuery et ne possède aucun paramètre supplémentaire. Ce type de requête ne prend pas en charge le résumé ni la mise en surbrillance. Pour connaître les types de requête pris en charge et les détails de configuration, consultez Résumé et mise en surbrillance.
Colonnes renvoyées
request.columnsToGet est un objet SearchRequest.ColumnsToGet qui contient les paramètres suivants.
|
Nom |
Type |
Description |
|
columns (facultatif) |
|
Les colonnes d'attribut à renvoyer. Définissez ce paramètre uniquement si |
|
returnAll (facultatif) |
boolean |
Indique s'il faut renvoyer toutes les colonnes d'attribut de la table. Valeur par défaut : |
|
returnAllFromIndex (facultatif) |
boolean |
Indique s'il faut renvoyer toutes les colonnes d'attribut indexées. Valeur par défaut : |
Valeurs de retour
search renvoie un objet SearchResponse. Le tableau suivant décrit les champs principaux.
|
Nom |
Type |
Description |
|
totalCount |
long |
Le nombre de lignes correspondantes. Appelez |
|
rows |
|
Les lignes renvoyées par cette requête. Appelez |
|
nextToken |
byte[] |
Le jeton de la page suivante. Appelez |
|
isAllSuccess |
boolean |
Indique si toutes les partitions d'index ont été interrogées avec succès. Appelez |