Uma consulta de correspondência de frase é semelhante à consulta de correspondência, mas avalia as posições dos tokens. Uma linha atende à condição da consulta apenas quando a ordem e as posições dos tokens na linha correspondem à ordem e às posições dos tokens contidos na palavra-chave. Se o método de tokenização do campo consultado for a tokenização fuzzy, a consulta de correspondência de frase é executada com latência menor que a consulta com curinga.
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 insira dados na tabela. Para mais informações, consulte Criar uma tabela de dados e Gravar dados.
Crie um índice de pesquisa para a tabela de dados. Para mais informações, consulte Criar um índice de pesquisa.
Parâmetros
|
Parâmetro |
Descrição |
|
table_name |
O nome da tabela de dados. |
|
index_name |
O nome do índice de pesquisa. |
|
offset |
A posição a partir da qual a consulta atual começa. |
|
limit |
O número máximo de linhas a serem retornadas pela consulta atual. Para consultar apenas o número de linhas que atendem às condições da consulta sem retornar dados específicos, defina limit como 0. Assim, o Tablestore retorna o número de linhas que atendem às condições da consulta, sem dados específicos da tabela. |
|
get_total_count |
Especifica se o número total de linhas que atendem às condições da consulta deve ser retornado. Valor padrão: false. O valor false indica que a contagem total não é retornada. Se você definir este parâmetro como true, o desempenho da consulta fica comprometido. |
|
query_type |
O tipo de consulta. Para usar a consulta de correspondência de frase, defina este parâmetro como |
|
field_name |
O nome do campo a ser correspondido. A consulta de correspondência de frase se aplica a campos TEXT. |
|
text |
A palavra-chave usada para corresponder ao valor do campo ao executar uma consulta de correspondência de frase. Se o campo a ser correspondido for do tipo TEXT, a palavra-chave é tokenizada em vários tokens com base no tipo de analisador especificado ao criar o índice de pesquisa. Se você não especificar o tipo de analisador, a tokenização de palavra única é executada. Por exemplo, ao executar uma consulta de correspondência de frase com a frase "this is", os resultados "..., this is tablestore" e "this is a table" são retornados. Já "this table is ..." ou "is this a table" não são retornados. |
|
columns_to_get |
Especifica se todas as colunas de cada linha que atende às condições da consulta devem ser retornadas. Configure return_type e return_names para este parâmetro.
|
Exemplos
O código de exemplo a seguir mostra como usar a consulta de correspondência de frase para consultar as linhas em que o valor da coluna text corresponde a "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);
Perguntas frequentes
Referências
-
Ao usar um índice de pesquisa para consultar dados, utilize os seguintes métodos: consulta de termo, consulta de termos, consulta de correspondência total, consulta de correspondência, consulta de correspondência de frase, consulta de prefixo, consulta de intervalo, consulta com curinga, consulta booleana, consulta geográfica, consulta aninhada e consulta de existência. Use diferentes métodos para buscar dados em múltiplas dimensões, conforme os requisitos do seu negócio.
Para classificar ou paginar as linhas que atendem às condições da consulta, utilize o recurso de classificação e paginação. Para mais informações, consulte Classificação e paginação.
Para colapsar o conjunto de resultados com base em uma coluna específica, utilize o recurso de colapso (distinct). Dessa forma, os dados do tipo especificado aparecem apenas uma vez nos resultados da consulta. Para mais informações, consulte Colapso (distinct).
Para analisar dados em uma tabela de dados, como obter valores extremos, soma e o número 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 que atendem às condições da consulta sem precisar classificá-las, chame as operações ParallelScan e ComputeSplits para usar o recurso de varredura paralela. Para mais informações, consulte Varredura paralela.