Todos los productos
Search
Centro de documentos

Tablestore:Term query

Última actualización: Sep 03, 2026

Una consulta de término con el Tablestore SDK for Java busca valores de campo o tokens que coincidan exactamente con el término de consulta 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 término busca contenido en un campo especificado que coincida exactamente con el término de consulta. En campos no textuales como Keyword y Long, el valor completo del campo debe ser idéntico al término de consulta. En un campo Text (consulte String types), la fila coincide si algún token generado por el analizador es igual al término de consulta. El término de consulta en sí no se tokeniza.

Nota

Los tokens generados para un campo Text pueden variar según la configuración del analizador, las actualizaciones del algoritmo y el uso del lenguaje. Evite usar una consulta de término para buscar la cadena original completa de un campo Text. En su lugar, utilice una virtual column para asignar el campo origen al tipo Keyword y realice la consulta sobre la columna virtual.

Para invocar search, establezca el tipo de consulta como TermQuery y use SearchQuery para configurar el número de filas devueltas, el seguimiento del recuento total y otros comportamientos comunes de consulta.

SearchResponse search(SearchRequest request)

El siguiente ejemplo consulta filas cuyo valor del campo category coincide exactamente con books, y devuelve hasta 10 filas junto con el número total de filas coincidentes.

String tableName = "example_table";
String indexName = "example_index";

TermQuery termQuery = new TermQuery();
termQuery.setFieldName("category");
termQuery.setTerm(ColumnValue.fromString("books"));

SearchQuery searchQuery = new SearchQuery();
searchQuery.setQuery(termQuery);
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());

Parámetros

Solicitud de búsqueda

request es un objeto SearchRequest que contiene los siguientes parámetros.

Nombre

Tipo

Descripción

tableName (obligatorio)

String

Nombre de la tabla.

indexName (obligatorio)

String

Nombre del índice de búsqueda.

searchQuery (obligatorio)

SearchQuery

Condición de consulta y configuración general de la consulta.

columnsToGet (opcional)

SearchRequest.ColumnsToGet

Configuración de las columnas a devolver. Si omite este parámetro, solo se devuelven las columnas de clave principal.

timeoutInMillisecond (opcional)

int

Tiempo de espera de la consulta a nivel de solicitud, en milisegundos. El valor predeterminado es -1, lo que indica que no se establece un tiempo de espera específico para la consulta.

routingValues (opcional)

List<PrimaryKey>

Valores de clave principal para 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

Condición de consulta. Establezca este parámetro como TermQuery para realizar una consulta de término.

offset (opcional)

Integer

Posición inicial de la consulta.

limit (opcional)

Integer

Número máximo de filas a devolver. Establezca este parámetro en 0 para no devolver ninguna fila.

highlight (opcional)

Highlight

Configuración de resumen y resaltado para campos Text. Para más detalles sobre la configuración, consulte Summary and highlighting.

collapse (opcional)

Collapse

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

Orden de clasificación de los resultados. Para más detalles sobre la configuración, consulte Sort and paginate results.

trackTotalCount (opcional)

int

Número máximo esperado de filas coincidentes a contar. El valor predeterminado es TRACK_TOTAL_COUNT_DISABLED, que deshabilita el conteo. Establezca este parámetro en TRACK_TOTAL_COUNT para contar todas las filas coincidentes. Un valor menor mejora el rendimiento de la consulta.

filter (opcional)

SearchFilter

Filtro que se aplica a los resultados de query.

aggregationList (opcional)

List<Aggregation>

Configuración de agregaciones. Para más detalles sobre la configuración, consulte Aggregation.

groupByList (opcional)

List<GroupBy>

Configuración de agrupamiento. Para más detalles sobre la configuración, consulte Aggregation.

token (opcional)

byte[]

Token de paginación. Establezca este parámetro con el valor nextToken de la respuesta anterior para continuar leyendo filas. Al establecer token, el SDK borra sort porque el token ya contiene las condiciones de ordenamiento.

Condición de consulta

request.searchQuery.query es un objeto TermQuery que contiene los siguientes parámetros.

Nombre

Tipo

Descripción

fieldName (obligatorio)

String

Nombre del campo indexado que se va a consultar.

term (obligatorio)

ColumnValue

Término de consulta. En un campo Text, el valor completo se utiliza como un solo término y no se tokeniza.

weight (opcional)

float

Peso de relevancia de la condición de consulta. El valor debe ser un número de punto flotante positivo. Un valor mayor otorga a la condición de consulta una mayor contribución a la puntuación de relevancia BM25. Este parámetro no afecta la coincidencia ni el número de filas devueltas. Solo influye en el orden de los resultados cuando se usa ScoreSort para ordenar por puntuación de relevancia. Valor predeterminado: 1.0.

Columnas devueltas

request.columnsToGet es un objeto SearchRequest.ColumnsToGet que contiene los siguientes parámetros.

Nombre

Tipo

Descripción

columns (opcional)

List<String>

Columnas de atributos a devolver. Configure este parámetro solo si tanto returnAll como returnAllFromIndex son false. Si omite este parámetro, solo se devuelven las columnas de clave principal.

returnAll (opcional)

boolean

Especifica si se deben devolver todas las columnas de atributos de la tabla. Valor predeterminado: false.

returnAllFromIndex (opcional)

boolean

Especifica si se deben devolver todas las columnas de atributos indexadas. Valor predeterminado: false. Este parámetro y returnAll no pueden ser ambos true.

Valores devueltos

search devuelve un objeto SearchResponse. La siguiente tabla describe los campos principales.

Nombre

Tipo

Descripción

totalCount

long

Número de filas coincidentes. Invoque getTotalCount() para obtener el valor. El valor devuelto depende de la configuración de trackTotalCount.

rows

List<Row>

Filas devueltas por esta consulta. Invoque getRows() para obtener el valor. El número de filas no supera limit.

searchHits

List<SearchHit>

Coincidencias de la consulta. Invoque getSearchHits() para obtener el valor. Si se configuró highlight, este campo contiene los datos de las filas junto con los resultados de resumen y resaltado.

nextToken

byte[]

Token de la página siguiente. Invoque getNextToken() para obtener el valor. Si el valor no es null, establézcalo como token en la siguiente solicitud para continuar leyendo filas.

isAllSuccess

boolean

Indica si todas las particiones del índice se consultaron correctamente. Invoque isAllSuccess() para obtener el valor. Si el valor es false, la respuesta contiene resultados parciales y totalCount podría ser menor que el número real de filas coincidentes.