A consulta de correspondência realiza uma busca aproximada nos dados de uma tabela. O Tablestore usa o tokenizador configurado para dividir os valores das colunas Text e a consulta de pesquisa em tokens e, em seguida, busca por esses tokens. Para executar consultas fuzzy de alto desempenho em colunas Text que usam tokenização fuzzy, use uma consulta de frase de correspondência.
Cenários
A consulta de correspondência localiza dados que contêm uma frase específica. Quando usada com tokenização, possibilita a indexação de texto completo. Isso é útil em cenários como análise de dados, pesquisa de conteúdo, gerenciamento de conhecimento, análise de mídias sociais, análise de logs, sistemas de chat com IA e revisões de conformidade. Por exemplo, é possível filtrar rapidamente produtos em uma plataforma de e-commerce cujos títulos, descrições ou rótulos contenham palavras-chave inseridas por um usuário. Também é possível localizar rapidamente mensagens de erro ou operações anômalas nos logs.
Visão geral do funcionamento
A consulta de correspondência realiza uma busca aproximada nos dados de uma tabela. Por exemplo, considere uma linha com uma coluna title do tipo Text que possui o valor "Hángzhōu Xīhú Fēngjǐngqū". Se essa coluna usar tokenização de palavra única e a consulta de pesquisa for "hú fēng", a linha é encontrada.
Ao usar uma consulta de correspondência, especifique a coluna de destino e a consulta de pesquisa. Uma linha atende à condição da consulta se qualquer um dos tokens da consulta de pesquisa existir na coluna especificada.
Também é possível configurar parâmetros como o número mínimo de correspondências, o peso da consulta, as colunas a serem retornadas, a opção de retornar o número total de linhas correspondidas e o método de ordenação do conjunto de resultados.
Operações da API
As operações da API para uma consulta de correspondência são Search ou ParallelScan. O tipo específico de consulta é MatchQuery.
Parâmetros
|
Parâmetro |
Descrição |
|
fieldName |
A coluna de destino. A consulta de correspondência pode ser aplicada a colunas do tipo Text. |
|
text |
A consulta de pesquisa, ou seja, o valor a ser buscado. Para colunas Text, a consulta de pesquisa é dividida em vários tokens com base no tipo de tokenizador definido na criação do índice de pesquisa. Se nenhum tokenizador tiver sido definido, a tokenização de palavra única é usada por padrão. Por exemplo, em uma coluna Text com tokenização de palavra única, a consulta de pesquisa "this is" pode corresponder a "..., this is tablestore", "is this tablestore", "tablestore is cool", "this" e "is". |
|
query |
Defina o tipo de consulta como matchQuery. |
|
offset |
A posição inicial da consulta. |
|
limit |
O número máximo de resultados a serem retornados na consulta. Para obter apenas a contagem de linhas sem retornar dados, defina limit como 0. Essa configuração não retorna nenhuma linha. |
|
minimumShouldMatch |
O número mínimo de correspondências. Uma linha é retornada somente se o valor na coluna Nota
|
|
operator |
O operador lógico. O padrão é OR, o que significa que uma linha atende à condição da consulta se alguns dos tokens corresponderem. Ao definir |
|
getTotalCount |
Especifica se o número total de linhas correspondidas deve ser retornado. O padrão é false, o que significa que a contagem total não é retornada. Retornar o número total de linhas correspondidas pode afetar o desempenho da consulta. |
|
weight |
O peso da consulta, usado para ordenação baseada em pontuação em cenários de índice de texto completo. Este parâmetro especifica o peso para o cálculo da pontuação de uma coluna. Um valor maior resulta em uma pontuação mais alta. O valor deve ser um número de ponto flutuante positivo. Este parâmetro não afeta o número de resultados retornados, apenas as pontuações deles. |
|
tableName |
O nome da tabela de dados. |
|
indexName |
O nome do índice de pesquisa. |
|
columnsToGet |
Especifica se todas as colunas devem ser retornadas. Isso inclui as configurações
Ao definir |
Observações
O Search Index oferece apenas a pontuação de relevância BM25 básica e não oferece suporte a modelos de relevância personalizados.
Uso
É possível executar uma consulta de correspondência usando o console, a interface de linha de comando (CLI) ou um kit de desenvolvimento de software (SDK). Antes de começar, conclua as seguintes etapas preparatórias.
-
Use uma conta Alibaba Cloud ou um usuário RAM com as permissões necessárias para operações do Tablestore. Para conceder permissões a um usuário RAM, consulte Conceda permissões a um usuário RAM usando uma política do RAM.
Ao usar um SDK ou uma ferramenta de linha de comando, crie um AccessKey para sua conta Alibaba Cloud ou usuário RAM, caso ainda não possua uma.
Você já criou uma tabela de dados.
Um Search Index foi criado para a tabela de dados.
Ao usar um SDK, inicialize o Tablestore Client.
Ao usar a ferramenta de linha de comando, baixe e inicie a ferramenta e, em seguida, configure a conexão com sua instância e selecione a tabela de destino. Para mais informações, consulte Baixe a ferramenta de linha de comando, Inicie a ferramenta e configure as informações de conexão e Operações de tabela de dados.
Faturamento
A consulta de dados por meio de um 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 oferece suporte a vários tipos de consulta para pesquisas de dados multidimensionais, incluindo consulta de termo, consulta de termos, consulta de correspondência total, consulta de correspondência, consulta de correspondência de frase, consulta de intervalo, consulta de prefixo, consulta de sufixo, consulta de curinga, consulta de curinga baseada em token, consulta booleana, consulta geográfica, consulta aninhada, pesquisa vetorial, e consulta de existência.
Ao consultar dados, é possível ordenar e paginar o conjunto de resultados ou executar colapso (deduplicação).
Para análise de dados, como encontrar o valor máximo ou mínimo, calcular uma soma ou contar linhas, é possível usar os recursos agregação estatística ou consulta SQL.
Para exportar dados rapidamente, independentemente da ordem do conjunto de resultados, é possível usar o recurso Parallel Scan.