Todos los productos
Search
Centro de documentos

Tablestore:Consulta de existencia

Última actualización: Sep 21, 2026

La consulta de existencia también se conoce como consulta NULL o consulta de valor NULL. Se utiliza en datos dispersos para determinar si existe una columna de una fila. Por ejemplo, puede consultar las filas en las que el valor de la columna address no está vacío.

Nota
  • Si desea ejecutar una consulta de existencia sobre una columna Nested, utilice una consulta anidada (nested query).

  • Para comprobar si una columna contiene valores vacíos, debe usar ExistsQuery junto con mustNotQueries de BoolQuery.

  • El sistema considera que una columna no existe cuando se cumple alguna de las siguientes condiciones. En este ejemplo se utiliza la columna city.

    • El tipo de la columna city en el índice de búsqueda es un tipo básico, como keyword. Si una fila de la tabla de datos no incluye la columna city, el índice de búsqueda considera que dicha columna no existe.

    • El tipo de la columna city en el índice de búsqueda es un tipo básico, como keyword. Si en la tabla de datos el valor de la columna city es un arreglo vacío ("city" = "[]"), el índice de búsqueda considera que la columna city no existe.

Operaciones de API

Para ejecutar una consulta de existencia, llame a la operación Search o ParallelScan y establezca el tipo de consulta en ExistsQuery.

Parámetros

Parámetro

Descripción

fieldName

Nombre de la columna que desea consultar.

query

Tipo de consulta. Establezca este parámetro en ExistsQuery.

getTotalCount

Indica si se devuelve el número total de filas que cumplen las condiciones de la consulta. El valor predeterminado es false, lo que significa que no se devuelve dicho total.

Si establece este parámetro en true, el rendimiento de la consulta disminuye.

tableName

Nombre de la tabla de datos.

indexName

Nombre del índice de búsqueda.

columnsToGet

Indica si se devuelven todas las columnas de cada fila que cumple las condiciones de la consulta. Para este parámetro, configure los campos returnAll y columns.

El valor predeterminado del campo returnAll es false, por lo que no se devuelven todas las columnas. En este caso, use el campo columns para especificar las columnas que desea devolver. Si no especifica dichas columnas, solo se devuelven las columnas de clave primaria.

Si establece el campo returnAll en true, se devuelven todas las columnas.

Métodos

Puede ejecutar una consulta de existencia desde la consola de Tablestore, mediante Tablestore CLI o con los SDK de Tablestore. Antes de iniciar, asegúrese de cumplir con los siguientes requisitos previos:

Uso de la consola de Tablestore

  1. Vaya a la pestaña Index Management.

    1. Inicie sesión en la consola de Table Store.

    2. En la barra de navegación superior, seleccione un resource group y una región.

    3. En la página Overview, haga clic en el nombre de la instancia o en Instance Management dentro de la columna Actions.

    4. En la pestaña Instance Details y dentro de la pestaña Data Table List, haga clic en el nombre de la tabla de datos o en Index Management en la columna Actions.

  2. En la pestaña Index Management, busque el Search Index de destino y haga clic en Search dentro de la columna Actions.

  3. En el cuadro de diálogo Search, configure la consulta.

    1. De forma predeterminada, se devuelven todas las columnas. Para devolver columnas específicas, desactive Retrieve All Columns e introduzca los nombres de las columnas separados por comas.

      Nota

      De forma predeterminada, Table Store devuelve las columnas de clave primaria de la tabla de datos.

    2. Seleccione un operador lógico: And, Or o Not.

      Si selecciona And, la consulta devuelve los datos que cumplen todas las condiciones especificadas. Si selecciona Or, devuelve los datos que cumplen como mínimo una de las condiciones. Si selecciona Not, devuelve los datos que no cumplen las condiciones indicadas.

    3. Seleccione un campo de índice y haga clic en Add.

    4. Establezca el tipo de consulta del campo de índice en Exists query (ExistsQuery).

    5. La ordenación está deshabilitada de forma predeterminada. Para ordenar los resultados por un campo específico, active Enable Sorting, agregue el campo de ordenación y configure el criterio correspondiente.

    6. La agregación está deshabilitada de forma predeterminada. Para aplicar una agregación estadística sobre un campo específico, active Enable Aggregation, agregue el campo y configure los ajustes de agregación.

  4. Haga clic en OK.

    Los resultados de la consulta se muestran en la pestaña Index Management.

Uso de Tablestore CLI

Con Tablestore CLI puede ejecutar el comando search para consultar datos mediante índices de búsqueda. Para obtener más información, consulte Search index.

  1. Ejecute el comando search para consultar datos con el índice de búsqueda search_index y devolver todas las columnas indexadas de cada fila que cumpla las condiciones de la consulta.

    search -n search_index --return_all_indexed
  2. Introduzca las condiciones de la consulta según las indicaciones:

    {
        "Offset": -1,
        "Limit": 10,
        "Collapse": null,
        "Sort": null,
        "GetTotalCount": true,
        "Token": null,
        "Query": {
            "Name": "ExistsQuery",
            "Query": {
                "FieldName": "col_keyword"
            }
        }
    }

Uso de los SDK de Tablestore

Puede utilizar los siguientes SDK de Tablestore para ejecutar una consulta de existencia: Tablestore SDK for Java, Tablestore SDK for Go, Tablestore SDK for Python, Tablestore SDK for Node.js, Tablestore SDK for .NET y Tablestore SDK for PHP. En este ejemplo se usa el SDK de Tablestore para Java.

A continuación se muestra cómo consultar las filas donde existe el campo city. La consulta devuelve un máximo de 10 filas y el número total de coincidencias.

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

ExistsQuery existsQuery = new ExistsQuery();
existsQuery.setFieldName("city");

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

Facturación

Consultar datos mediante un Search Index consume capacidad de procesamiento de lectura. Para obtener más información, consulte Search Index metering and billing.

Preguntas frecuentes

Referencias