A consulta de prefixo permite buscar dados cujo prefixo corresponda ao valor especificado. Se a coluna usada para avaliar as condições da consulta for do tipo TEXT, o valor dessa coluna será tokenizado. Uma linha atenderá aos critérios quando o valor tokenizado da coluna indicada contiver pelo menos um termo que inclua o prefixo definido.
Pré-requisitos
Instância OTSClient inicializada. Para mais informações, consulte Inicializar uma instância OTSClient.
Tabela de dados criada e com dados gravados. Para mais detalhes, consulte Criar tabelas de dados e Gravar dados.
Índice de pesquisa criado para a tabela de dados. Consulte Criar índices de pesquisa para obter orientações completas.
Parâmetros
|
Parâmetro |
Descrição |
|
FieldName |
Nome da coluna a ser consultada. |
|
Prefix |
Prefixo usado para correspondência com o valor da coluna durante a consulta. Se a coluna usada na condição for do tipo TEXT, seu conteúdo será tokenizado. A linha atenderá aos critérios se o valor tokenizado contiver pelo menos um termo que inclua o prefixo especificado. |
|
GetTotalCount |
Define se o total de linhas correspondentes às condições deve ser retornado. Valor padrão: false, indicando que essa contagem não será incluída na resposta. Definir este parâmetro como true pode reduzir o desempenho da consulta. |
|
Query |
Tipo de consulta. Defina este parâmetro como PrefixQuery. |
|
TableName |
Nome da tabela de dados. |
|
IndexName |
Nome do índice de pesquisa. |
|
ColumnsToGet |
Controla quais colunas das linhas correspondentes devem ser retornadas. É possível configurar os parâmetros ReturnAll, Columns e ReturnAllFromIndex. Por padrão,
Defina |
Exemplo
O código de exemplo a seguir demonstra como buscar linhas em que o valor da coluna Keyword_type_col contenha o prefixo "Search" dentro de uma tabela.
/// <summary>
/// Query the rows in which the value of the Keyword_type_col column contains the "Search" prefix in a table.
/// </summary>
/// <param name="otsClient"></param>
public static void PrefixQuery(OTSClient otsClient)
{
var searchQuery = new SearchQuery();
// Set the query type to PrefixQuery, the column that you want to match to Keyword_type_col, and the prefix to "Search".
searchQuery.Query = new PrefixQuery("Keyword_type_col", "Search");
// Return the total number of rows that meet the query conditions.
searchQuery.GetTotalCount = true;
var request = new SearchRequest(TableName, IndexName, searchQuery);
// You can specify the ColumnsToGet parameter to return the columns that you specify, all columns in the rows that meet the query conditions, or all columns in the search index. If you do not specify this parameter, only the primary key columns are returned.
request.ColumnsToGet = new ColumnsToGet()
{
// Return all columns in the search index.
ReturnAllFromIndex = true
// Return the columns that you specify.
//Columns = new List<string>() { Long_type_col, Text_type_col, Keyword_type_col }
// Return all columns in the rows that meet the query conditions.
//ReturnAll = true
};
var response = otsClient.Search(request);
Console.WriteLine("Total Count:" + response.TotalCount); // Display the total number of rows that meet the query conditions instead of the number of returned rows.
}
Perguntas frequentes
Referências
-
Ao utilizar um índice de pesquisa, você tem à disposição diversos métodos de consulta: consulta de termo, consulta de termos, consulta match all, consulta match, consulta match phrase, consulta de prefixo, consulta de intervalo, consulta com curinga, consulta booleana, consulta geográfica, consulta aninhada e consulta exists. Combine essas abordagens para extrair dados sob múltiplas perspectivas, conforme a necessidade do seu negócio.
Os recursos de ordenação e paginação permitem organizar ou segmentar as linhas resultantes. Saiba mais em Ordenação e paginação.
Para evitar duplicidade nos resultados, utilize o recurso de colapso (distinct), que agrupa as ocorrências com base em uma coluna específica. Veja os detalhes em Colapso (distinct).
Quando for necessário analisar os dados de uma tabela, aproveite as agregações da operação Search ou execute instruções SQL para obter somatórios, valores mínimos, máximos e contagens totais. Consulte Agregação e Consulta SQL para mais informações.
Caso precise recuperar todas as linhas correspondentes sem aplicar ordenação, utilize o recurso de varredura paralela por meio das operações ParallelScan e ComputeSplits. Para detalhes, acesse Varredura paralela.