Una consulta de frase coincidente es similar a una consulta de coincidencia, pero evalúa las posiciones de los tokens. Una fila cumple la condición de consulta solo cuando el orden y la posición de sus tokens coinciden con el orden y la posición de los tokens contenidos en la palabra clave. Si el método de tokenización del campo que desea consultar es la tokenización difusa, la consulta de frase coincidente se ejecuta con menor latencia que la consulta con comodines.
Requisitos previos
Se inicializó una instancia de OTSClient. Para obtener más información, consulte Initialize an OTSClient instance.
Se creó una tabla de datos y se escribieron datos en ella. Para obtener 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 obtener más información, consulte Create a search index.
Parámetros
|
Parámetro |
Descripción |
|
table_name |
El nombre de la tabla de datos. |
|
index_name |
El nombre del índice de búsqueda. |
|
offset |
La posición desde la cual inicia la consulta actual. |
|
limit |
El número máximo de filas que la consulta actual debe devolver. Si solo necesita conocer la cantidad de filas que cumplen las condiciones de consulta sin devolver datos específicos, establezca Limit en 0. De este modo, Tablestore devuelve el número de filas que cumplen las condiciones, sin incluir datos concretos de la tabla. |
|
get_total_count |
Indica si se devuelve el número total de filas que cumplen las condiciones de consulta. Valor predeterminado: false. El valor false indica que no se devuelve dicho total. Si establece este parámetro en true, el rendimiento de la consulta disminuye. |
|
query_type |
El tipo de consulta. Para usar una consulta de frase coincidente, establezca este parámetro en |
|
field_name |
El nombre del campo que desea hacer coincidir. La consulta de frase coincidente aplica a campos TEXT. |
|
text |
La palabra clave que se usa para hacer coincidir el valor del campo durante la consulta de frase coincidente. Si el campo que desea hacer coincidir es de tipo TEXT, la palabra clave se divide en varios tokens según el tipo de analizador especificado al crear el índice de búsqueda. Si no especificó ningún tipo de analizador durante la creación del índice, se aplica la tokenización de una sola palabra. Por ejemplo, si ejecuta una consulta de frase coincidente con la frase "this is", se devuelven resultados como "..., this is tablestore" y "this is a table". No se devuelven cadenas como "this table is ..." ni "is this a table". |
|
columns_to_get |
Indica si se devuelven todas las columnas de cada fila que cumple las condiciones de consulta. Para este parámetro, configure return_type y return_names.
|
Ejemplos
A continuación se muestra un ejemplo de código sobre cómo usar una consulta de frase coincidente para buscar las filas donde el valor de la columna text coincide con "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);
Preguntas frecuentes
Referencias
-
Cuando consulta datos mediante un índice de búsqueda, puede usar los siguientes métodos de consulta: 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. Según sus necesidades de negocio, combine distintos métodos para consultar datos desde múltiples dimensiones.
Si necesita ordenar o paginar las filas que cumplen las condiciones de consulta, utilice la función de ordenación y paginación. Para obtener más información, consulte Sorting and paging.
Para contraer el conjunto de resultados con base en una columna específica, utilice la función de contracción (distinct). Así, los datos del tipo indicado aparecerán una sola vez en los resultados de la consulta. Para obtener más información, consulte Collapse (distinct).
Si requiere analizar los datos de una tabla, por ejemplo, para obtener valores extremos, sumas o el número total de filas, ejecute operaciones de agregación o instrucciones SQL. Para obtener más información, consulte Aggregation y SQL query.
Cuando necesite obtener rápidamente todas las filas que cumplen las condiciones de consulta sin ordenarlas, llame a las operaciones ParallelScan y ComputeSplits para aprovechar la función de exploración paralela. Para obtener más información, consulte Parallel scan.