Una consulta de término devuelve las filas cuyos valores de campo coinciden exactamente con la palabra clave especificada. La palabra clave no se analiza; Tablestore la compara tal cual con los valores indexados. En columnas TEXT, Tablestore compara la palabra clave con cada token de la columna y la fila coincide si como mínimo un token es igual a la palabra clave.
Requisitos previos
Se inicializó una instancia de OTSClient. Para más información, consulte Initialize an OTSClient instance.
Se creó una tabla de datos y se escribieron datos en ella. Para más información, consulte Create a data table y Write data.
Se creó un índice de búsqueda para la tabla de datos. Para más información, consulte Create a search index.
Advertencia: No utilice una consulta de término en columnas TEXT cuando necesite coincidir con la cadena original. Tablestore tokeniza los valores de las columnas TEXT durante la indexación, por lo que los tokens almacenados podrían no coincidir con su cadena original. Utilice una consulta de coincidencia (match query) cuando busque en columnas TEXT por su contenido completo.
Parámetros
|
Parámetro |
Descripción |
|
table_name |
Nombre de la tabla de datos. |
|
index_name |
Nombre del índice de búsqueda. |
|
offset |
Posición inicial en el conjunto de resultados para la consulta actual. |
|
limit |
Número máximo de filas por devolver. Para obtener solo el recuento de filas sin incluir los datos, establezca este valor en 0. |
|
get_total_count |
Indica si se debe devolver el número total de filas que coinciden con la consulta. Valor predeterminado: false. Establecer este valor en true reduce el rendimiento de la consulta. |
|
query_type |
Tipo de consulta. Establezca este valor en |
|
field_name |
Nombre del campo por consultar. |
|
term |
Palabra clave con la que se compararán los valores del campo. La palabra clave no se tokeniza; Tablestore la utiliza tal cual para la comparación. En columnas TEXT, Tablestore tokeniza el valor de la columna durante la indexación y verifica si algún token coincide exactamente con la palabra clave. Por ejemplo, el valor TEXT |
|
sort |
Orden de clasificación de las filas devueltas. Para más información, consulte Sorting and paging. |
|
columns_to_get |
Columnas por devolver para cada fila coincidente. Configure return_type y return_names para este parámetro.
|
Ejemplos
A continuación, se muestra un ejemplo que consulta todas las filas donde la columna keyword coincide exactamente con el término "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);
Preguntas frecuentes
Referencias
-
Al usar un índice de búsqueda para consultar datos, puede emplear los siguientes métodos: term query, terms query, match all query, match query, match phrase query, prefix query, range query, wildcard query, Boolean query, geo query, nested query y exists query. Use distintos métodos de consulta para obtener datos desde varias dimensiones según sus requisitos empresariales.
Para ordenar o paginar las filas que cumplen con las condiciones de consulta, utilice la función de ordenamiento y paginación. Para más información, consulte Sorting and paging.
Para agrupar el conjunto de resultados según una columna específica, utilice la función de colapso (distinct). De este modo, los datos del tipo especificado aparecen solo una vez en los resultados de la consulta. Para más información, consulte Collapse (distinct).
Para analizar datos en una tabla de datos, como obtener valores extremos, sumas o el número total de filas, realice operaciones de agregación o ejecute sentencias SQL. Para más información, consulte Aggregation y SQL query.
Para obtener rápidamente todas las filas que cumplen con las condiciones de consulta sin necesidad de ordenarlas, llame a las operaciones ParallelScan y ComputeSplits para usar la función de escaneo paralelo. Para más información, consulte Parallel scan.