A consulta de termos corresponde a linhas em que o valor de um campo é exatamente igual a qualquer uma das palavras-chave especificadas. Esse recurso equivale ao operador IN do SQL e estende a consulta de termo único para oferecer suporte a várias palavras-chave.
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 como |
|
FieldName |
Nome do campo alvo da correspondência. |
|
Terms |
Palavras-chave para comparação com o valor do campo. O sistema retorna a linha se o valor do campo corresponder exatamente a pelo menos uma palavra-chave. |
|
Limit |
Número máximo de linhas a retornar. Defina como |
|
ColumnsToGet |
Colunas a retornar para cada linha correspondente. Configure com Por padrão,
Defina |
Exemplos
O exemplo a seguir consulta linhas em que Col_Keyword corresponde exatamente a "SearchIndex" ou "Sample":
/// <summary>
/// Search the table for rows in which the value of the Col_Keyword column exactly matches "SearchIndex" or "Sample".
/// </summary>
/// <param name="otsClient"></param>
public static void TermsQuery(OTSClient otsClient)
{
TermsQuery termsQuery = new TermsQuery();
termsQuery.FieldName = "Col_Keyword";
termsQuery.Terms = new List<ColumnValue>
{
new ColumnValue("SearchIndex"),
new ColumnValue("Sample")
};
SearchQuery searchQuery = new SearchQuery();
searchQuery.Query = termsQuery;
SearchRequest searchRequest = new SearchRequest(TableName, IndexName, searchQuery);
// Specify columns to return: by search index, by name, or all columns.
// If not specified, only primary key columns are returned.
searchRequest.ColumnsToGet = new ColumnsToGet
{
// Return all columns in the search index.
ReturnAllFromIndex = true
// Return specific columns by name.
//Columns = new List<string>() { Long_type_col, Text_type_col, Keyword_type_col }
// Return all columns in the data table.
//ReturnAll = true
};
SearchResponse searchResponse = otsClient.Search(searchRequest);
Console.WriteLine(JsonConvert.SerializeObject(searchResponse));
}
Perguntas frequentes
Referências
-
Ao usar um índice de busca para consultar dados, utilize 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 com curinga, consulta Boolean, consulta geográfica, consulta aninhada e consulta exists. Combine diferentes métodos para consultar dados em 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.
Aplique o recurso de collapse (distinct) para agrupar o conjunto de resultados com base em uma coluna específica. Assim, os dados do tipo especificado aparecem apenas uma vez nos resultados da consulta. Para mais informações, consulte Collapse (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.
Caso precise obter todas as linhas que atendem às condições da consulta sem ordená-las, chame as operações ParallelScan e ComputeSplits para usar o recurso de varredura paralela. Para mais informações, consulte Varredura paralela.