Em consultas com curinga, use os caracteres asterisco () e ponto de interrogação (?) para buscar dados. O asterisco () corresponde a uma string de qualquer comprimento no início, meio ou fim do termo de busca. O ponto de interrogação (?) substitui um único caractere em uma posição específica. A string pode começar com asterisco () ou ponto de interrogação (?). Por exemplo, ao buscar pela string "tablee", o termo "tablestore" será encontrado.
Se o padrão de consulta for *word* (equivalente a WHERE field_a LIKE '%word%' em SQL), use o recurso de consultas com curinga baseadas em token para obter melhor desempenho. Essa abordagem mantém a performance mesmo com o aumento do volume de dados.
Para usar o operador NOT LIKE, combine WildcardQuery com must_not_queries do BoolQuery.
Pré-requisitos
Instância OTSClient inicializada. Para mais informações, consulte Inicializar uma instância OTSClient.
Tabela de dados criada e populada. Para mais informações, consulte Criar uma tabela de dados e Gravar dados.
Índice de busca criado para a tabela de dados. Para mais informações, consulte Criar um índice de busca.
Parâmetros
|
Parâmetro |
Descrição |
|
table_name |
Nome da tabela de dados. |
|
index_name |
Nome do índice de busca. |
|
offset |
Posição inicial da consulta atual. |
|
limit |
Número máximo de linhas retornadas pela consulta atual. |
|
get_total_count |
Define se o número total de linhas correspondentes às condições da consulta deve ser retornado. O valor padrão é false, indicando que a contagem total não será incluída na resposta. Definir get_total_count como true impacta negativamente o desempenho da consulta. |
|
query_type |
Tipo da consulta. Defina este parâmetro como |
|
field_name |
Nome da coluna a ser consultada. |
|
value |
String com caracteres curinga. O tamanho máximo permitido é de 32 caracteres. |
|
sort |
Método de ordenação das linhas na resposta. Para mais informações, consulte Ordenação e paginação. |
|
columns_to_get |
Determina quais colunas retornar para cada linha correspondente. Configure return_type e return_names conforme necessário.
|
Exemplos
O código abaixo demonstra como consultar dados que correspondem à condição key* na coluna keyword de uma tabela.
$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::WILDCARD_QUERY,
'query' => array(
'field_name' => 'keyword',
'value' => 'key*'
)
),
'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('keyword')
)
);
$response = $otsClient->search($request);
Perguntas frequentes
Referências
-
Consultas via índice de busca oferecem diversos métodos: consulta por termo, consulta por termos, match all query, match query, match phrase query, consulta por prefixo, consulta por intervalo, consulta com curinga, Boolean query, geo query, nested query e exists query. Escolha o método mais adequado para extrair dados sob diferentes perspectivas conforme sua necessidade de negócio.
Use o recurso de ordenação e paginação para organizar ou paginar as linhas resultantes. Consulte Ordenação e paginação para detalhes.
Para evitar duplicidade nos resultados com base em uma coluna específica, aplique o recurso collapse (distinct). Assim, cada valor distinto aparece apenas uma vez. Veja mais em Collapse (distinct).
Execute análises estatísticas sobre os dados da tabela, como valores extremos, somatórios e contagem total de linhas, por meio de operações de agregação ou comandos SQL. Saiba mais em Agregação e Consulta SQL.
Obtenha rapidamente todas as linhas correspondentes sem ordenação usando o recurso de varredura paralela por meio das operações ParallelScan e ComputeSplits. Para instruções completas, acesse Varredura paralela.