Use a consulta de termo para buscar dados que correspondam exatamente ao valor especificado de um campo. Esse tipo de consulta assemelha-se às consultas baseadas em condições de correspondência de string. Se o tipo da coluna for TEXT, o Tablestore tokeniza a string e usa os tokens para corresponder à palavra-chave. Uma linha atende às condições da consulta quando pelo menos um dos tokens dessa linha corresponde exatamente à palavra-chave. A palavra-chave usada para corresponder ao valor da coluna durante uma consulta de termo não é tokenizada.
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 um índice de busca.
Parâmetros
|
Parâmetro |
Descrição |
|
tableName |
Nome da tabela de dados. |
|
indexName |
Nome do índice de busca. |
|
offset |
Posição inicial da consulta atual. |
|
limit |
Número máximo de linhas retornadas pela consulta atual. Para obter apenas a quantidade de linhas que atendem às condições, sem retornar os dados específicos, defina o parâmetro limit como 0. |
|
queryType |
Tipo da consulta. Defina este parâmetro como TableStore.QueryType.TERM_QUERY. |
|
fieldName |
Nome da coluna a ser consultada. |
|
term |
Palavra-chave usada para corresponder ao valor da coluna na consulta de termo. Esta palavra não é tokenizada; ela é utilizada integralmente para corresponder ao valor da coluna. Se o tipo da coluna for TEXT, o Tablestore tokeniza a string e usa os tokens resultantes para buscar a palavra-chave. A linha satisfaz a condição de consulta se pelo menos um de seus tokens corresponder exatamente à palavra-chave. Por exemplo, se o valor de uma coluna do tipo TEXT em uma linha for "tablestore is cool", esse valor será tokenizado em "tablestore", "is" e "cool". A linha atenderá aos critérios de consulta caso você especifique "tablestore", "is" ou "cool" como palavra-chave de correspondência. |
|
getTotalCount |
Define se o número total de linhas correspondentes deve ser retornado. O valor padrão é false, indicando que a contagem total não será incluída na resposta. Definir essa opção como true pode comprometer o desempenho da consulta. |
|
columnToGet |
Determina quais colunas retornar para cada linha correspondente. Configure os campos returnType e returnNames conforme necessário.
|
Exemplo
O código abaixo demonstra como consultar linhas nas quais o valor da coluna Col_Keyword corresponda exatamente a "hangzhou":
/**
* Search the table for rows in which the value of Col_Keyword exactly matches "hangzhou".
*/
client.search({
tableName: TABLE_NAME,
indexName: INDEX_NAME,
searchQuery: {
offset: 0,
limit: 10, // To query only the number of rows that meet the query conditions without specific data, set the limit parameter to 0.
query: { // Set the query type to TableStore.QueryType.TERM_QUERY.
queryType: TableStore.QueryType.TERM_QUERY,
query: {
fieldName: "Col_Keyword",
term: "hangzhou"
}
},
getTotalCount: true // Specify whether to return the total number of rows that meet the query conditions. The default value of this parameter is false, which specifies that the total number of rows that meet the query conditions is not returned.
},
columnToGet: { // Specify the columns that you want to return. You can set the parameter to RETURN_SPECIFIED to return specific columns, RETURN_ALL to return all columns, RETURN_ALL_FROM_INDEX to return all columns in the search index, or RETURN_NONE to return only the primary key columns.
returnType: TableStore.ColumnReturnType.RETURN_ALL
}
}, function (err, data) {
if (err) {
console.log('error:', err);
return;
}
console.log('success:', JSON.stringify(data, null, 2));
});
Perguntas frequentes
Perguntas frequentes
Referências
-
Os índices de busca suportam os seguintes tipos de consulta: consulta de termo, consulta de termos, consulta match all, consulta match, consulta match phrase, consulta de prefixo, consulta de intervalo, consulta curinga, consulta booleana, consulta geográfica, consulta aninhada, consulta vetorial e consulta exists. Escolha o tipo adequado conforme suas necessidades de negócio.
Para ordenar ou paginar as linhas correspondentes, utilize o recurso de classificação e paginação. Para mais informações, consulte Classificação e paginação.
Para agrupar o conjunto de resultados com base em uma coluna específica, use o recurso collapse (distinct). Assim, 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, como obter valores extremos, somas ou contagem total de linhas, execute operações de agregação ou instruções SQL. Para mais informações, consulte Agregação e Consulta SQL.
Para obter rapidamente todas as linhas correspondentes sem ordenação, chame as operações ParallelScan e ComputeSplits para utilizar a varredura paralela. Para mais informações, consulte Varredura paralela.