A consulta de frase correspondente assemelha-se à consulta de correspondência, mas avalia as posições dos tokens. Uma linha atende às condições da consulta apenas se a ordem e as posições dos tokens na linha coincidirem com a ordem e as posições dos tokens contidos na palavra-chave. Se o método de tokenização do campo consultado for a tokenização difusa, a consulta de frase correspondente apresentará latência menor que a consulta com caractere curinga.
Cenários
Use a consulta de frase correspondente para buscar dados que contenham uma frase específica com palavras organizadas em uma ordem determinada. Combine essa consulta com a tokenização para executar buscas de texto completo em cenários como análise de big data, busca de conteúdo e recomendação personalizada. Por exemplo, localize sentenças com uma frase exata em conteúdos textuais ou identifique mensagens dispostas em uma sequência específica em registros de chat.
Recursos
A consulta de frase correspondente usa correspondências aproximadas para consultar dados e avalia as posições dos tokens. Por exemplo, suponha que o valor em uma coluna do tipo TEXT seja "Hangzhou West Lake Scenic Area" e a palavra-chave especificada seja "Hangzhou Scenic Area". O Tablestore retorna a linha ao usar a consulta de correspondência. No entanto, na consulta de frase correspondente, o Tablestore não retorna essa linha. A distância entre "Hangzhou" e "Scenic Area" na palavra-chave é 0, mas a distância na coluna dessa linha é 2, pois as palavras "West" e "Lake" aparecem entre "Hangzhou" e "Scenic Area".
Ao usar a consulta de frase correspondente, especifique o nome do campo a ser consultado e a palavra-chave. Uma linha só atende às condições da consulta se a ordem e as posições dos tokens na linha corresponderem exatamente à ordem e às posições dos tokens contidos na palavra-chave.
Durante a execução da consulta, defina o peso atribuído ao campo consultado para calcular a pontuação de relevância da palavra-chave baseada em BM25, as colunas a serem retornadas, se o sistema deve retornar o número total de linhas que atendem às condições e o método de ordenação das linhas retornadas.
Operação de API
Chame a operação Search ou ParallelScan e defina o tipo de consulta como MatchPhraseQuery para executar uma consulta de frase correspondente.
Parâmetros
|
Parâmetro |
Descrição |
|
fieldName |
Nome do campo a ser correspondido. É possível executar consultas de frase correspondente em campos TEXT. |
|
text |
Palavra-chave usada para corresponder ao valor do campo durante a consulta de frase correspondente. Se o campo a ser correspondido for do tipo TEXT, a palavra-chave será tokenizada em vários tokens com base no tipo de analisador especificado na criação do índice de busca. Caso nenhum tipo de analisador seja definido, o sistema aplicará a tokenização de palavra única. Para mais informações, consulte Tokenização. Por exemplo, ao executar uma consulta de frase correspondente usando a frase "this is", os resultados "..., this is tablestore" e "this is a table" serão retornados. Já "this table is ..." ou "is this a table" não serão retornados. |
|
query |
Tipo da consulta. Defina o parâmetro de consulta como matchPhraseQuery. |
|
offset |
Posição inicial da consulta atual. |
|
limit |
Número máximo de linhas a serem retornadas pela consulta atual. Para consultar apenas a quantidade de linhas que atendem às condições, sem recuperar dados específicos, defina o parâmetro limit como 0. |
|
getTotalCount |
Define se o sistema deve retornar o número total de linhas que atendem às condições da consulta. O valor padrão é false, indicando que a contagem total não será retornada. Definir este parâmetro como true pode comprometer o desempenho da consulta. |
|
weight |
Peso atribuído ao campo consultado para calcular a pontuação de relevância da palavra-chave baseada em BM25. Este parâmetro é utilizado em cenários de busca de texto completo. Quanto maior o peso especificado para o campo, maior será sua pontuação de relevância BM25. O valor deve ser um número de ponto flutuante positivo. Este parâmetro não altera o número de linhas retornadas, mas influencia diretamente as pontuações de relevância BM25 dos resultados da consulta. |
|
tableName |
Nome da tabela de dados. |
|
indexName |
Nome do índice de busca. |
|
columnsToGet |
Define se todas as colunas de cada linha que atende às condições da consulta devem ser retornadas. Configure os campos returnAll e columns no parâmetro columnsToGet. O valor padrão do campo returnAll é false, o que significa que nem todas as colunas são retornadas. Nesse caso, use o campo columns para especificar quais colunas deseja recuperar. Se nenhuma coluna for especificada, apenas as colunas de chave primária serão retornadas. Se o campo returnAll for definido como true, todas as colunas serão retornadas. |
Observações
O Search Index oferece apenas pontuação básica de relevância BM25 e não suporta modelos personalizados de relevância.
Métodos
Execute consultas de frase correspondente usando o console do Tablestore, a CLI do Tablestore ou os SDKs do Tablestore.
Antes de executar a consulta, certifique-se de cumprir os seguintes pré-requisitos:
-
Use uma conta Alibaba Cloud ou um usuário RAM com as permissões necessárias para operações no Table Store. Para conceder permissões a um usuário RAM, consulte Conceder permissões a um usuário RAM usando uma política RAM.
Se usar um SDK ou ferramenta de linha de comando, crie um AccessKey para sua conta Alibaba Cloud ou usuário RAM, caso ainda não possua um.
Tenha criado uma tabela de dados.
Um Search Index deve estar criado para a tabela de dados.
Caso use um SDK, inicialize o Tablestore Client.
Ao usar a ferramenta de linha de comando, baixe e inicie a ferramenta, configure a conexão com sua instância e selecione a tabela de destino. Para mais detalhes, consulte Baixar a ferramenta de linha de comando, Iniciar a ferramenta e configurar informações de conexão e Operações de tabela de dados.
Faturamento
A consulta de dados via Search Index consome throughput de leitura. Para mais informações, consulte Medição e faturamento do Search Index.
Perguntas frequentes
Referências
O Search Index suporta diversos tipos de consulta para buscas multidimensionais, incluindo consulta de termo, consulta de termos, consulta match all, consulta de correspondência, consulta de frase correspondente, consulta de intervalo, consulta de prefixo, consulta de sufixo, consulta com caractere curinga, consulta com caractere curinga baseada em token, consulta booleana, consulta geográfica, consulta aninhada, busca vetorial e consulta exists.
Durante a consulta de dados, ordene e pagine o conjunto de resultados ou aplique ordenação e paginação, além de poder executar colapso (deduplicação).
Para análises de dados, como encontrar valores máximos ou mínimos, calcular somas ou contar linhas, use os recursos de agregação estatística ou consulta SQL.
Para exportar dados rapidamente, independentemente da ordem do conjunto de resultados, use o recurso Parallel Scan.