La consulta Exists también se conoce como consulta NULL o consulta de valor NULL. Esta consulta se utiliza en datos dispersos para determinar si existe una columna en una fila. Por ejemplo, puede consultar las filas en las que el valor de la columna address no está vacío.
Si desea realizar una consulta Exists en 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 tiene 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 una fila de la tabla de datos el valor de la columna city es un array vacío ("city" = "[]"), el índice de búsqueda considera que la columna city no existe.
Requisitos previos
Se ha inicializado una instancia de OTSClient. Para obtener más información, consulte Initialize an OTSClient instance.
Se ha creado una tabla de datos y se han escrito datos en ella. Para obtener más información, consulte Create data tables y Write data.
Se ha creado un índice de búsqueda para la tabla de datos. Para obtener más información, consulte Create a search index.
Parámetros
|
Parámetro |
Descripción |
|
fieldName |
Nombre del campo que se va a consultar. |
|
query |
Tipo de consulta. Establezca este parámetro en |
|
getTotalCount |
Indica si se debe devolver el número total de filas que coinciden con las condiciones de la consulta. Valor predeterminado: false. Establecer este valor en true reduce el rendimiento de la consulta. |
|
tableName |
Nombre de la tabla de datos. |
|
indexName |
Nombre del índice de búsqueda. |
|
columnsToGet |
Columnas que se devuelven por cada fila coincidente.
|
Ejemplos
En el siguiente ejemplo se consultan las filas donde la columna pic_des no está vacía.
client.search({
tableName: TABLE_NAME,
indexName: INDEX_NAME,
searchQuery: {
offset: 0,
limit: 10, // Set limit to 0 to return only the row count without data.
query: {
queryType: TableStore.QueryType.EXISTS_QUERY,
query: {
fieldName: "pic_des"
},
},
getTotalCount: true // Set to true to return the total number of matching rows. Default value: false.
},
columnToGet: { // RETURN_SPECIFIED: specified columns; RETURN_ALL: all columns; RETURN_ALL_FROM_INDEX: all columns in the search index; RETURN_NONE: primary key columns only.
returnType: TableStore.ColumnReturnType.RETURN_SPECIFIED,
returnNames: ["Col_1", "Col_2", "Col_3"]
}
}, function (err, data) {
if (err) {
console.log('error:', err);
return;
}
console.log('success:', JSON.stringify(data, null, 2));
});
Preguntas frecuentes
Referencias
-
Los índices de búsqueda admiten los siguientes tipos de consulta: term query, terms query, match all query, match query, match phrase query, prefix query, range query, wildcard query, Boolean query, geo query, nested query, vector query y exists query. Seleccione un tipo de consulta para recuperar datos según sus necesidades empresariales.
Si necesita ordenar o paginar las filas que cumplen con las condiciones de la consulta, utilice la función de ordenación y paginación. Para obtener más información, consulte Sorting and paging.
Para colapsar el conjunto de resultados en función de una columna específica, utilice la función collapse (distinct). De esta manera, los datos del tipo especificado aparecen solo una vez en los resultados de la consulta. Para obtener más información, consulte Collapse (distinct).
Si desea analizar datos en una tabla de datos, como obtener valores extremos, sumas o el número total de filas, realice operaciones de agregación o ejecute sentencias SQL. Para obtener más información, consulte Aggregation y SQL query.
Para obtener rápidamente todas las filas que cumplen con las condiciones de la consulta sin necesidad de ordenarlas, llame a las operaciones ParallelScan y ComputeSplits para utilizar la función de escaneo paralelo. Para obtener más información, consulte Parallel scan.