A consulta de frase correspondente assemelha-se à consulta de correspondência, mas avalia as posições dos tokens. Uma linha atende à condição de consulta apenas quando a ordem e as posições dos tokens na linha coincidem 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 curinga.
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 uma tabela de dados e Gravar dados.
Índice de pesquisa criado para a tabela de dados. Para mais informações, consulte Criar um índice de pesquisa.
Parâmetros
|
Parâmetro |
Descrição |
|
table_name |
Nome da tabela de dados. |
|
index_name |
Nome do índice de pesquisa. |
|
offset |
Posição inicial da consulta atual. |
|
limit |
Número máximo de linhas a retornar na consulta atual. Para obter apenas a quantidade de linhas correspondentes sem recuperar dados específicos, defina Limit como 0. Assim, o Tablestore retorna a contagem de linhas correspondentes sem incluir dados da tabela. |
|
get_total_count |
Define se o sistema deve retornar o número total de linhas correspondentes. Valor padrão: false. O valor false indica que a contagem total não será incluída na resposta. Definir este parâmetro como true compromete o desempenho da consulta. |
|
query_type |
Tipo de consulta. Para usar a consulta de frase correspondente, defina este parâmetro como |
|
field_name |
Nome do campo a corresponder. A consulta de frase correspondente aplica-se a campos TEXT. |
|
text |
Palavra-chave usada para corresponder ao valor do campo durante a consulta de frase correspondente. Se o campo alvo for do tipo TEXT, a palavra-chave será dividida em vários tokens conforme o tipo de analisador especificado na criação do índice de pesquisa. Caso nenhum analisador tenha sido definido, o sistema aplicará a tokenização por palavra única. Por exemplo, ao executar uma consulta de frase correspondente com a expressão "this is", os resultados podem incluir "..., this is tablestore" e "this is a table". Expressões como "this table is ..." ou "is this a table" não serão retornadas. |
|
columns_to_get |
Indica se todas as colunas de cada linha correspondente devem ser retornadas. Configure return_type e return_names neste parâmetro.
|
Exemplos
O código de exemplo abaixo demonstra como utilizar a consulta de frase correspondente para buscar linhas cuja coluna text contenha "text keyword":
$request = array(
'table_name' => 'php_sdk_test',
'index_name' => 'php_sdk_test_search_index',
'search_query' => array(
'offset' => 0,
'limit' => 2,
'get_total_count' => true,
'query' => array(
'query_type' => QueryTypeConst::MATCH_PHRASE_QUERY,
'query' => array(
'field_name' => 'text',
'text' => 'text keyword'
)
),
'sort' => array(
array(
'field_sort' => array(
'field_name' => 'keyword',
'order' => SortOrderConst::SORT_ORDER_ASC
)
),
)
),
'columns_to_get' => array(
'return_type' => ColumnReturnTypeConst::RETURN_SPECIFIED,
'return_names' => array('text')
)
);
$response = $otsClient->search($request);
FAQ
Referências
-
Ao consultar dados com um índice de pesquisa, utilize os seguintes métodos: consulta de termo, consulta de termos, consulta match all, consulta de correspondência, consulta de frase correspondente, consulta de prefixo, consulta de intervalo, consulta curinga, consulta booleana, consulta geográfica, consulta aninhada e consulta exists. Combine diferentes métodos para extrair dados sob múltiplas dimensões conforme suas necessidades de negócio.
Para ordenar ou paginar as linhas resultantes, utilize o recurso de classificação e paginação. Para mais detalhes, consulte Classificação e paginação.
Caso precise agrupar o conjunto de resultados com base em uma coluna específica, use o recurso de colapso (distinct). Isso garante que dados do tipo especificado apareçam apenas uma vez nos resultados da consulta. Para mais informações, consulte Colapso (distinct).
Para analisar dados em uma tabela, como obter valores extremos, somas ou contagens totais de linhas, execute operações de agregação ou instruções SQL. Consulte Agregação e Consulta SQL para mais detalhes.
Se precisar obter rapidamente todas as linhas correspondentes sem ordenação, chame as operações ParallelScan e ComputeSplits para usar o recurso de varredura paralela. Para mais informações, consulte Varredura paralela.