A consulta Exists, também conhecida como consulta NULL ou consulta de valor NULL, verifica a existência de uma coluna específica em uma linha dentro de dados esparsos. Por exemplo, consulte as linhas em que o valor da coluna address não está vazio.
Para executar uma consulta Exists em uma coluna Nested, use a consulta aninhada (nested query).
Para verificar se uma coluna contém valores vazios, combine ExistsQuery com mustNotQueries do BoolQuery.
-
O sistema considera que uma coluna não existe quando uma das condições abaixo é atendida. Neste exemplo, usa-se a coluna city.
O tipo da coluna city no índice de busca é básico, como keyword. Se uma linha na tabela de dados não possuir a coluna city, o índice de busca considerará que essa coluna não existe.
O tipo da coluna city no índice de busca é básico, como keyword. Se o valor da coluna city em uma linha da tabela de dados for um array vazio ("city" = "[]"), o índice de busca tratará a coluna city como inexistente.
Pré-requisitos
Instância OTSClient inicializada. Para mais informações, consulte Inicializar uma instância OTSClient.
Tabela de dados criada e preenchida. Para mais informações, consulte Criar tabelas de dados e Gravar dados.
Índice de busca criado para a tabela de dados. Para mais informações, consulte Criar índices de busca.
Parâmetros
|
Parâmetro |
Descrição |
|
TableName |
Nome da tabela de dados. |
|
IndexName |
Nome do índice de busca. |
|
Query |
Tipo de consulta. Defina este parâmetro como |
|
GetTotalCount |
Indica se o número total de linhas correspondentes às condições da consulta deve ser retornado. Valor padrão: |
|
FieldName |
Nome do campo a consultar. |
|
ColumnsToGet |
Define se todas as colunas de cada linha correspondente devem retornar. Valores suportados: Por padrão,
Defina |
Exemplos
O exemplo a seguir consulta linhas em que a coluna pk0 não está vazia.
/// <summary>
/// Perform an exists query to query the rows in which the value of the pk0 column is not empty.
/// </summary>
/// <param name="otsClient"></param>
public static void ExistsQuery(OTSClient otsClient)
{
ExistsQuery existsQuery = new ExistsQuery
{
FieldName = "pk0"
};
SearchQuery searchQuery = new SearchQuery
{
Query = existsQuery,
GetTotalCount = false
};
SearchRequest searchRequest = new SearchRequest(TableName, IndexName, searchQuery);
SearchResponse searchResponse = otsClient.Search(searchRequest);
Console.WriteLine(JsonConvert.SerializeObject(searchResponse));
}
Perguntas frequentes
Referências
-
Ao usar um índice de busca para consultar dados, empregue os seguintes métodos: consulta de termo, consulta de termos, consulta match all, consulta match, consulta match phrase, consulta de prefixo, consulta de intervalo, consulta wildcard, consulta booleana, consulta geográfica, consulta aninhada e consulta exists. Combine diferentes métodos para consultar dados sob múltiplas dimensões, conforme as necessidades do seu negócio.
Use os recursos de ordenação e paginação para classificar ou paginar as linhas que atendem às condições da consulta. Para mais informações, consulte Ordenação e paginação.
O recurso de colapso (distinct) permite agrupar o conjunto de resultados com base em uma coluna específica. Assim, dados do tipo especificado aparecem apenas uma vez nos resultados da consulta. Para mais informações, consulte Colapso (distinct).
Para analisar dados em uma tabela de dados, use o recurso de agregação da operação Search ou execute instruções SQL. É possível obter valores mínimos e máximos, somas e o número total de linhas, por exemplo. Para mais informações, consulte Agregação e Consulta SQL.
Para obter todas as linhas correspondentes às condições de consulta sem ordenação, chame as operações ParallelScan e ComputeSplits para usar o recurso de varredura paralela. Para mais informações, consulte Varredura paralela.