Una consulta de coincidencia total con el Tablestore SDK for Java coincide con todas las filas de un índice de búsqueda y devuelve las filas coincidentes o su recuento total.
Requisitos previos
Instale Tablestore SDK for Java e inicialice el cliente.
Descripción de la función
Una consulta de coincidencia total abarca todos los datos de un índice de búsqueda sin necesidad de especificar un campo o valor para filtrar. Al invocar search, establezca el tipo de consulta como MatchAllQuery y utilice SearchQuery para configurar el número de filas devueltas, el seguimiento del recuento total y otros comportamientos comunes de la consulta.
SearchResponse search(SearchRequest request)
El siguiente ejemplo coincide con cada fila de un índice de búsqueda y devuelve hasta 10 filas junto con el número total de filas coincidentes.
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 asigna la misma puntuación de relevancia a cada fila coincidente. Sin un orden de clasificación explícito, no se garantiza el orden de las filas. Para obtener únicamente el recuento total, establezca limit en 0. De este modo, el servidor no devolverá ninguna fila. Tenga en cuenta que rastrear los recuentos totales incrementa la sobrecarga de la consulta.
Parámetros
Solicitud de búsqueda
request es un objeto SearchRequest que contiene los siguientes parámetros.
|
Nombre |
Tipo |
Descripción |
|
tableName (obligatorio) |
String |
El nombre de la tabla. |
|
indexName (obligatorio) |
String |
El nombre del índice de búsqueda. |
|
searchQuery (obligatorio) |
SearchQuery |
La condición de consulta y la configuración general de la misma. |
|
columnsToGet (opcional) |
SearchRequest.ColumnsToGet |
La configuración de las columnas a devolver. Si omite este parámetro, solo se devuelven las columnas de clave principal. |
|
timeoutInMillisecond (opcional) |
int |
El tiempo de espera de la consulta a nivel de solicitud, en milisegundos. El valor predeterminado es |
|
routingValues (opcional) |
|
Los valores de clave principal para los campos de enrutamiento personalizado. Omita este parámetro si el índice no utiliza enrutamiento personalizado. |
Configuración de la consulta
request.searchQuery es un objeto SearchQuery que contiene los siguientes parámetros.
|
Nombre |
Tipo |
Descripción |
|
query (obligatorio) |
Query |
La condición de consulta. Establezca este parámetro como |
|
offset (opcional) |
Integer |
La posición inicial de la consulta. |
|
limit (opcional) |
Integer |
El número máximo de filas a devolver. Establezca este parámetro en |
|
collapse (opcional) |
Collapse |
La configuración de colapso de campos, que deduplica los resultados según un campo especificado. Para más detalles sobre la configuración, consulte Collapse query results. |
|
sort (opcional) |
Sort |
El orden de clasificación de los resultados. Para más detalles sobre la configuración, consulte Sort and paginate results. |
|
trackTotalCount (opcional) |
int |
El número máximo esperado de filas coincidentes que se contarán. El valor predeterminado es |
|
filter (opcional) |
SearchFilter |
Un filtro que se aplica a los resultados de |
|
aggregationList (opcional) |
|
La configuración de agregaciones. Para más detalles sobre la configuración, consulte Aggregation. |
|
groupByList (opcional) |
|
La configuración de agrupamiento. Para más detalles sobre la configuración, consulte Aggregation. |
|
token (opcional) |
byte[] |
El token de paginación. Establezca este parámetro con el valor |
Condición de consulta
request.searchQuery.query es un objeto MatchAllQuery y no tiene parámetros adicionales. Este tipo de consulta no admite resúmenes ni resaltado. Para conocer los tipos de consulta compatibles y sus detalles de configuración, consulte Summary and highlighting.
Columnas devueltas
request.columnsToGet es un objeto SearchRequest.ColumnsToGet que contiene los siguientes parámetros.
|
Nombre |
Tipo |
Descripción |
|
columns (opcional) |
|
Las columnas de atributos que se devolverán. Configure este parámetro solo si tanto |
|
returnAll (opcional) |
boolean |
Especifica si se deben devolver todas las columnas de atributos de la tabla. Valor predeterminado: |
|
returnAllFromIndex (opcional) |
boolean |
Especifica si se deben devolver todas las columnas de atributos indexadas. Valor predeterminado: |
Valores de retorno
search devuelve un objeto SearchResponse. La siguiente tabla describe los campos principales.
|
Nombre |
Tipo |
Descripción |
|
totalCount |
long |
El número de filas coincidentes. Invoque |
|
rows |
|
Las filas devueltas por esta consulta. Invoque |
|
nextToken |
byte[] |
El token de la página siguiente. Invoque |
|
isAllSuccess |
boolean |
Indica si todas las particiones del índice se consultaron correctamente. Invoque |