Use a consulta por intervalo para buscar dados que estejam dentro do intervalo especificado. Se o tipo do campo consultado for TEXT, os valores do campo são tokenizados. Uma linha atende às condições da consulta quando pelo menos um dos tokens da linha corresponde ao intervalo definido.
Pré-requisitos
Uma instância do OTSClient está inicializada. Para mais informações, consulte Inicializar uma instância do OTSClient.
Uma tabela de dados é criada e os dados são gravados na tabela de dados. Para mais informações, consulte Criar tabelas de dados e Gravar dados.
Um índice de pesquisa é criado para a tabela de dados. Para mais informações, consulte Criar índices de pesquisa.
Parâmetros
|
Parâmetro |
Descrição |
|
GetTotalCount |
Define se a quantidade total de linhas que atendem às condições da consulta deve ser retornada. O valor padrão é false, o que impede o retorno dessa contagem. Se você definir este parâmetro como true, o desempenho da consulta será comprometido. |
|
Query |
O tipo de consulta. Para usar a consulta por intervalo, defina este parâmetro como RangeQuery. |
|
FieldName |
O nome do campo que você deseja consultar. |
|
From |
O valor inicial da consulta. |
|
To |
O valor final da consulta. |
|
IncludeLower |
Define se as linhas em que o valor da coluna correspondente é igual ao valor do parâmetro From devem ser incluídas na resposta. O tipo de valor deste parâmetro é Boolean. |
|
IncludeUpper |
Define se as linhas em que o valor da coluna correspondente é igual ao valor do parâmetro To devem ser incluídas na resposta. O tipo de valor deste parâmetro é Boolean. |
|
TableName |
O nome da tabela de dados. |
|
IndexName |
O nome do índice de pesquisa. |
|
ColumnsToGet |
Define se todas as colunas de cada linha que atende às condições da consulta devem ser retornadas. Você pode configurar ReturnAll, Columns e ReturnAllFromIndex para este parâmetro. Por padrão,
Defina |
Exemplos
O código de exemplo a seguir mostra como consultar as linhas em que o valor da coluna Long_type_col é maior ou igual a 0 e menor que 6. Neste exemplo, a quantidade total de linhas que atendem às condições da consulta é retornada.
/// <summary>
/// Search the table for rows in which the value of the Long_type_col column is greater than or equal to 0 and less than 6.
/// </summary>
/// <param name="otsClient"></param>
public static void RangeQuery(OTSClient otsClient)
{
var searchQuery = new SearchQuery();
// Specify that the total number of rows that meet the query conditions is returned.
searchQuery.GetTotalCount = true;
var rangeQuery = new RangeQuery(Long_type_col, new ColumnValue(0), new ColumnValue(6));
// Specify that the rows in which the value of the column that you want to match is equal to the value of the From parameter are included in the response.
rangeQuery.IncludeLower = true;
searchQuery.Query = rangeQuery;
var request = new SearchRequest(TableName, IndexName, searchQuery);
// You can configure the ColumnsToGet parameter to specify the columns that you want to return, specify that all columns are returned, or specify that all columns in the search index are returned. If you do not configure this parameter, only the primary key columns are returned.
request.ColumnsToGet = new ColumnsToGet()
{
// Specify that all columns in the search index are returned.
ReturnAllFromIndex = true
// Specify the columns that you want to return.
//Columns = new List<string>() { Long_type_col, Text_type_col, Keyword_type_col }
// Specify that all columns are returned.
//ReturnAll = true
};
var response = otsClient.Search(request);
Console.WriteLine("Total Count:" + response.TotalCount); // Specify that the total number of rows that meet the query conditions instead of the number of rows that are returned is displayed.
}
FAQ
Referências
-
Ao usar um índice de pesquisa para consultar dados, você pode utilizar vários métodos de consulta. Esses métodos incluem consulta de termo, consulta de termos, consulta de correspondência total, consulta de correspondência e consulta de frase correspondente. Além disso, você pode usar consulta de prefixo, consulta por intervalo, consulta com caractere curinga, consulta booliana, consulta geográfica, consulta aninhada e consulta de existência. Use diferentes métodos de consulta para buscar dados de várias dimensões com base nos requisitos do seu negócio.
Você pode ordenar ou paginar as linhas que atendem às condições da consulta usando os recursos de ordenação e paginação. Para mais informações, consulte Ordenação e paginação.
Use o recurso de agrupamento (distinto) para consolidar o conjunto de resultados com base em uma coluna específica. Dessa forma, os dados do tipo especificado aparecem apenas uma vez nos resultados da consulta. Para mais informações, consulte Agrupamento (distinto).
Para analisar dados em uma tabela de dados, use o recurso de agregação da operação Search ou execute instruções SQL. Por exemplo, você pode obter os valores mínimo e máximo, a soma e a quantidade total de linhas. Para mais informações, consulte Agregação e Consulta SQL.
Para obter todas as linhas que atendem às condições da consulta sem precisar ordená-las, chame as operações ParallelScan e ComputeSplits para usar o recurso de varredura paralela. Para mais informações, consulte Varredura paralela.