Use a consulta de prefixo para buscar dados correspondentes a um prefixo especificado. 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 ao prefixo definido.
Pré-requisitos
Inicialize uma instância do OTSClient. Para mais informações, consulte Inicializar uma instância do OTSClient.
Crie uma tabela de dados e grave dados nela. Para mais informações, consulte Criar tabelas de dados e Gravar dados.
Crie um índice de busca 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 que a consulta atual deve retornar. Para obter apenas a contagem de linhas que atendem aos critérios, sem recuperar os dados em si, defina o parâmetro limit como 0. |
|
queryType |
Tipo de consulta. Defina este parâmetro como TableStore.QueryType.PREFIX_QUERY. |
|
fieldName |
Nome da coluna a ser consultada. |
|
prefix |
Prefixo usado para corresponder ao valor da coluna durante a consulta. Se o tipo da coluna for TEXT, o Tablestore tokeniza a string e usa esses tokens para a correspondência. A linha será incluída nos resultados se pelo menos um token corresponder ao prefixo especificado. |
|
getTotalCount |
Indica se o total de linhas correspondentes deve ser retornado. O valor padrão é false, o que significa que a contagem total não é incluída na resposta. Definir este parâmetro como true pode impactar o desempenho da consulta. |
|
columnToGet |
Define quais colunas retornar para cada linha correspondente. Configure os campos returnType e returnNames conforme necessário.
|
Exemplo
O código abaixo demonstra como buscar linhas em que o valor da coluna Col_Keyword comece com o prefixo "hang":
/**
* Search the table for rows in which the value of Col_Keyword contains the "hang" prefix, such as "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.PREFIX_QUERY.
queryType: TableStore.QueryType.PREFIX_QUERY,
query: {
fieldName: "Col_Keyword",
prefix: "hang" // Set the prefix to "hang" to match column values such as "hangzhou" or "hangzhoushi".
}
},
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 oferecem suporte aos 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 wildcard, consulta booleana, consulta geográfica, consulta aninhada, consulta vetorial e consulta exists. Escolha o tipo mais adequado às necessidades do seu negócio.
Para ordenar ou paginar as linhas resultantes, utilize o recurso de classificação e paginação. Consulte Classificação e paginação para detalhes.
Caso precise eliminar duplicatas com base em uma coluna específica, use o recurso collapse (distinct). Isso garante que cada valor distinto apareça apenas uma vez nos resultados. Veja mais em Collapse (distinct).
Para análises estatísticas na tabela, como soma, valores extremos ou contagem total de linhas, execute operações de agregação ou comandos SQL. Saiba mais em Agregação e Consulta SQL.
Se o objetivo for recuperar rapidamente todas as linhas correspondentes sem necessidade de ordenação, utilize o recurso de varredura paralela por meio das operações ParallelScan e ComputeSplits. Para instruções completas, acesse Varredura paralela.