Uma consulta de termo retorna linhas cujos valores de campo correspondem exatamente à palavra-chave especificada. A palavra-chave não passa por análise: o Tablestore a compara diretamente com os valores indexados. Em colunas TEXT, o Tablestore verifica a correspondência da palavra-chave com cada token da coluna e retorna a linha se pelo menos um token for igual à palavra-chave.
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.
Aviso: Não use consultas de termo em colunas TEXT para corresponder à string original. O Tablestore tokeniza os valores de colunas TEXT durante a indexação, portanto, os tokens armazenados podem não corresponder à string original. Use uma consulta de correspondência (match query) ao pesquisar colunas TEXT pelo conteúdo completo.
Parâmetros
|
Parâmetro |
Descrição |
|
table_name |
Nome da tabela de dados. |
|
index_name |
Nome do índice de pesquisa. |
|
offset |
Posição inicial no conjunto de resultados da consulta atual. |
|
limit |
Número máximo de linhas a retornar. Defina como 0 para obter apenas a contagem de linhas sem retornar os dados. |
|
get_total_count |
Define se o número total de linhas correspondentes à consulta deve ser retornado. Valor padrão: false. Habilitar esta opção reduz o desempenho da consulta. |
|
query_type |
Tipo da consulta. Defina como |
|
field_name |
Nome do campo a consultar. |
|
term |
Palavra-chave para correspondência com os valores do campo. Este valor não é tokenizado: o Tablestore o utiliza exatamente como fornecido para comparação. Em colunas TEXT, o Tablestore tokeniza o valor da coluna durante a indexação e verifica se algum token corresponde exatamente à palavra-chave. Por exemplo, o valor TEXT |
|
sort |
Ordem de classificação das linhas retornadas. Para mais informações, consulte Classificação e paginação. |
|
columns_to_get |
Colunas a retornar para cada linha correspondente. Configure return_type e return_names para este parâmetro.
|
Exemplos
O exemplo abaixo consulta todas as linhas em que a coluna keyword corresponde exatamente ao termo "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::TERM_QUERY,
'query' => array(
'field_name' => 'keyword',
'term' => 'keyword'
)
),
'sort' => array(
array(
'field_sort' => array(
'field_name' => 'keyword',
'order' => SortOrderConst::SORT_ORDER_ASC
)
),
)
),
'columns_to_get' => array(
'return_type' => ColumnReturnTypeConst::RETURN_ALL,
'return_names' => array('keyword', 'long')
)
);
$response = $otsClient->search($request);
Perguntas frequentes
Referências
-
Ao usar um índice de pesquisa, você pode utilizar os seguintes métodos de consulta: consulta de termo, consulta de termos, consulta match all, consulta de correspondência, consulta de frase correspondente, consulta de prefixo, consulta de intervalo, consulta com curinga, consulta booleana, consulta geográfica, consulta aninhada e consulta de existência. Combine diferentes métodos para consultar dados sob múltiplas dimensões conforme suas necessidades de negócio.
Para classificar ou paginar as linhas que atendem aos critérios de consulta, use o recurso de classificação e paginação. Para mais informações, consulte Classificação e paginação.
Para agrupar o conjunto de resultados com base em uma coluna específica, use o recurso de colapso (distinct). Assim, 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, como obter valores extremos, somas e contagem 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 correspondentes aos critérios de consulta sem ordenação, chame as operações ParallelScan e ComputeSplits para usar a varredura paralela. Para mais informações, consulte Varredura paralela.