Una consulta match realiza una coincidencia aproximada sobre los datos de una tabla. Tablestore utiliza el tokenizer configurado para dividir en tokens los valores de las columnas Text y la cadena de búsqueda; después, busca dichos tokens. Si necesita ejecutar consultas difusas de alto rendimiento en columnas Text que usan tokenización difusa, utilice una consulta match phrase.
Escenarios
Una consulta match localiza los datos que contienen una frase específica. Al combinarse con la tokenización, habilita la indexación de texto completo. Esto resulta útil en escenarios como análisis de datos, búsqueda de contenido, gestión del conocimiento, análisis de redes sociales, análisis de registros, sistemas de chat con IA y revisiones de cumplimiento. Por ejemplo, puede filtrar rápidamente los productos de una plataforma de comercio electrónico cuyos títulos, descripciones o etiquetas contengan las palabras clave introducidas por un usuario. También permite ubicar de forma ágil mensajes de error u operaciones anómalas en los registros.
Descripción general de la función
Una consulta match realiza una coincidencia aproximada sobre los datos de una tabla. Suponga que una fila tiene una columna title de tipo Text con el valor "Hángzhōu Xīhú Fēngjǐngqū". Si esta columna usa tokenización de palabra única y la cadena de búsqueda es "hú fēng", la fila coincide.
Al usar una consulta match, debe especificar la columna donde buscar y la cadena de búsqueda. Una fila cumple la condición de consulta si alguno de los tokens de la cadena de búsqueda existe en la columna indicada.
También puede configurar parámetros como el número mínimo de coincidencias, el peso de la consulta, las columnas que se devolverán, si se devuelve el total de filas coincidentes y el método de ordenamiento del conjunto de resultados.
Operaciones de API
Las operaciones de API para una consulta match son Search o ParallelScan. El tipo de consulta específico es MatchQuery.
Parámetros
|
Parámetro |
Descripción |
|
fieldName |
La columna donde se realizará la búsqueda. Este método aplica a columnas de tipo Text. |
|
text |
La cadena de búsqueda, es decir, el valor que se comparará. En las columnas Text, la cadena de búsqueda se divide en varios tokens según el tipo de tokenizer establecido al crear el search index. Si no se definió ninguno, se utiliza de forma predeterminada la tokenización de palabra única. Por ejemplo, en una columna Text con tokenización de palabra única, la cadena "this is" coincide con "..., this is tablestore", "is this tablestore", "tablestore is cool", "this" e "is". |
|
query |
Establezca el tipo de consulta como matchQuery. |
|
offset |
La posición inicial de la consulta. |
|
limit |
El número máximo de resultados que devolverá la consulta. Si solo necesita obtener el conteo de filas sin recuperar datos, establezca limit en 0. Con este valor no se devuelve ninguna fila. |
|
minimumShouldMatch |
El número mínimo de coincidencias. Una fila se devuelve únicamente si el valor de la columna Nota
|
|
operator |
El operador lógico. El valor predeterminado es OR, lo que significa que una fila cumple la condición si algunos de los tokens coinciden. Si establece |
|
getTotalCount |
Indica si se devuelve el total de filas coincidentes. El valor predeterminado es false, por lo que no se devuelve dicho total. Devolver el total de filas coincidentes puede afectar el rendimiento de la consulta. |
|
weight |
El peso de la consulta. Se utiliza para ordenar por puntuación en escenarios de índices de texto completo. Este parámetro define el peso con el que se calcula la puntuación de una columna. Un valor mayor genera una puntuación más alta. Debe ser un número de punto flotante positivo. Este parámetro no afecta la cantidad de resultados devueltos, sino únicamente sus puntuaciones. |
|
tableName |
El nombre de la tabla de datos. |
|
indexName |
El nombre del search index. |
|
columnsToGet |
Indica si se devuelven todas las columnas. Incluye las configuraciones De forma predeterminada, Si establece |
Notas
Search Index proporciona únicamente la puntuación de relevancia básica BM25 y no admite modelos de relevancia personalizados.
Uso
Puede ejecutar una consulta match desde la consola, la interfaz de línea de comandos o un kit de desarrollo de software (SDK). Antes de empezar, complete las siguientes preparaciones.
-
Utilice una cuenta de Alibaba Cloud o un usuario de RAM con los permisos obligatorios para las operaciones de Table Store. Para otorgar permisos a un usuario de RAM, consulte Grant permissions to a RAM user by using a RAM policy.
Si utiliza un SDK o una herramienta de línea de comandos, create an AccessKey para su cuenta de Alibaba Cloud o usuario de RAM en caso de que aún no cuente con uno.
Debe haber created a data table.
Se debe haber creado un Search Index para la tabla de datos.
Si utiliza un SDK, initialize the Tablestore Client.
Si utiliza la herramienta de línea de comandos, descargue e inicie la herramienta; luego, configure la conexión a su instancia y seleccione la tabla de destino. Para obtener más información, consulte Download the command-line tool, Start the tool and configure connection information y Data table operations.
Facturación
Consultar datos mediante un Search Index consume capacidad de procesamiento de lectura. Para obtener más información, consulte Search Index metering and billing.
Preguntas frecuentes
Referencias
Search Index admite diversos tipos de consultas para buscar datos de forma multidimensional, entre ellas term query, terms query, match all query, match query, phrase match query, range query, prefix query, suffix query, wildcard query, token-based wildcard query, boolean query, geo query, nested query, vector search, y exists query.
Al consultar datos, puede sort and paginate el conjunto de resultados o ejecutar collapsing (deduplication).
Para analizar datos, como buscar el valor máximo o mínimo, calcular una suma o contar filas, utilice las funciones statistical aggregation o SQL query.
Si necesita exportar datos rápidamente sin importar el orden del conjunto de resultados, utilice la función Parallel Scan.