Use a consulta de termo para localizar linhas em que um campo específico corresponde exatamente a uma palavra-chave. A palavra-chave não passa por tokenização. Em campos TEXT, o Tablestore tokeniza o valor do campo e compara a palavra-chave com cada token gerado. A linha será retornada se qualquer token corresponder exatamente à palavra-chave.
Pré-requisitos
Instância OTSClient inicializada. Para mais informações, consulte Inicializar uma instância OTSClient.
Tabela de dados criada e populada. Para mais informações, consulte Criar tabelas de dados e Gravar dados.
Índice de pesquisa criado para a tabela de dados. Para mais informações, consulte Criar índices de pesquisa.
Parâmetros
|
Parâmetro |
Descrição |
|
FieldName |
Nome do campo a ser comparado. |
|
Term |
Palavra-chave usada na comparação com os valores do campo. Esse valor não é tokenizado e é comparado diretamente com o valor completo do campo ou, no caso de campos TEXT, com cada token individualmente. Para campos TEXT, o Tablestore tokeniza o valor do campo e verifica se algum token corresponde exatamente à palavra-chave. Por exemplo, se um campo TEXT contiver "tablestore is cool", o valor será dividido nos tokens "tablestore", "is" e "cool". Especifique qualquer um desses tokens como palavra-chave retorna a linha. |
|
GetTotalCount |
Defina se o sistema deve retornar o número total de linhas correspondentes. O padrão é |
|
Query |
Tipo de consulta. Defina como |
|
TableName |
Nome da tabela de dados. |
|
IndexName |
Nome do índice de pesquisa. |
|
ColumnsToGet |
Especifica quais colunas retornar para as linhas correspondentes. Configure Por padrão,
Defina |
Exemplos
O exemplo a seguir consulta linhas nas quais o campo Keyword_type_col corresponde exatamente a SearchIndex.
/// <summary>
/// Query rows where Keyword_type_col exactly matches "SearchIndex".
/// </summary>
/// <param name="otsClient"></param>
public static void TermQuery(OTSClient otsClient)
{
var searchQuery = new SearchQuery();
// Return the total number of matching rows.
searchQuery.GetTotalCount = true;
// Match rows where Keyword_type_col equals "SearchIndex".
searchQuery.Query = new TermQuery("Keyword_type_col", new ColumnValue("SearchIndex"));
var request = new SearchRequest(TableName, IndexName, searchQuery);
// Return all columns from the search index.
// To return specific columns: Columns = new List<string>() { Long_type_col, Text_type_col, Keyword_type_col }
// To return all columns from the data table: ReturnAll = true
request.ColumnsToGet = new ColumnsToGet()
{
ReturnAllFromIndex = true
};
var response = otsClient.Search(request);
// Check NextToken for paginated results.
}
FAQ
Referências
-
Ao usar um índice de pesquisa 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 com curinga, 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.
Ordene ou pagine as linhas que atendem aos critérios de consulta usando os recursos de ordenação e paginação. Para mais informações, consulte Ordenação e paginação.
Use o recurso de collapse (distinct) para 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 Collapse (distinct).
Para analisar dados de uma tabela, use o recurso de agregação da operação Search ou execute instruções SQL. Dessa forma, você obtém valores mínimos e máximos, somas e contagem total de linhas. Para mais informações, consulte Agregação e Consulta SQL.
Para obter todas as linhas que atendem aos critérios de 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.