Todos los productos
Search
Centro de documentos

Tablestore:Consulta de existencia

Última actualización: Sep 22, 2026

Una 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 específica en una fila. Por ejemplo, puede consultar las filas donde el valor de la columna address no esté vacío.

Nota
  • Si necesita comprobar si una columna contiene valores vacíos, debe usar ExistsQuery junto con must_not_queries 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 asume 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 asume que la columna no existe.

Requisitos previos

Parámetros

Parámetro

Descripción

table_name

Nombre de la tabla de datos.

index_name

Nombre del índice de búsqueda.

field_name

Nombre de la columna que desea consultar.

query_type

Tipo de consulta. Establezca este parámetro en QueryTypeConst::EXISTS_QUERY.

Nota

No es posible consultar columnas anidadas de forma directa. Para hacerlo, debe encapsular NestedQuery y especificar la ruta de la columna anidada junto con una subconsulta. La subconsulta admite cualquier tipo de consulta. Para obtener más información, consulte Nested query.

Ejemplos

A continuación se muestran ejemplos sobre cómo ejecutar una consulta de existencia.

Consultar filas no vacías en la columna text

El siguiente código de ejemplo muestra cómo consultar las filas donde la columna text de una tabla no está vacía.

$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::EXISTS_QUERY,
            'query' => array(
                'field_name' => 'text'
            )
        )
    ),
    'columns_to_get' => array(
        'return_type' => ColumnReturnTypeConst::RETURN_SPECIFIED,
        'return_names' => array('keyword', 'long', 'array')
    )
);
$response = $otsClient->search($request);

Consultar filas no vacías en una subcolumna de una columna anidada

El siguiente código de ejemplo muestra cómo consultar las filas donde la subcolumna nested_long de una columna anidada no está vacía.

$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::NESTED_QUERY,
            'query' => array(
                'path' => "nested",
                'query' => array(
                    'query_type' => QueryTypeConst::EXISTS_QUERY,
                    'query' => array(
                        'field_name' => 'nested.nested_long',
                    )
                ),
                'score_mode' => ScoreModeConst::SCORE_MODE_AVG
            )
        )
    ),
    'columns_to_get' => array(
        'return_type' => ColumnReturnTypeConst::RETURN_SPECIFIED,
        'return_names' => array('nested')
    )
);
$response = $this->otsClient->search($request);

Preguntas frecuentes

Referencias

  • Al consultar datos mediante un índice de búsqueda, puede utilizar los siguientes métodos: term query, terms query, match all query, match query, match phrase query, prefix query, range query, wildcard query, Boolean query, geo query, nested query y exists query. Estos métodos le permiten buscar información desde varias dimensiones según sus necesidades de negocio.

    Si necesita ordenar o paginar las filas que cumplen con los criterios de búsqueda, utilice la función de ordenamiento y paginación. Para obtener más información, consulte Sorting and paging.

    Para agrupar el conjunto de resultados con base en una columna específica, utilice la función collapse (distinct). De esta manera, los datos del tipo indicado aparecerán una sola vez en los resultados de la consulta. Para obtener más información, consulte Collapse (distinct).

  • Si requiere analizar los datos de una tabla, por ejemplo, para obtener valores extremos, sumas o el número total de filas, ejecute operaciones de agregación o sentencias SQL. Para obtener más información, consulte Aggregation y SQL query.

  • Cuando necesite recuperar rápidamente todas las filas que cumplen con los criterios de búsqueda sin ordenarlas, llame a las operaciones ParallelScan y ComputeSplits para aprovechar la función de escaneo paralelo. Para obtener más información, consulte Parallel scan.