SQLITE Búsqueda de texto completo

SQLITE Búsqueda de texto completo
En la base de datos, el componente de la tabla virtual FTS5 se utiliza para realizar búsquedas completas. Una tabla virtual es un complemento personalizable SQLite. Una tabla virtual es similar a una mesa regular. La distinción entre una tabla virtual y una tabla regular sería de donde provienen los datos. SQLite consulta el esquema de la base de datos para obtener datos mientras procesa una tabla regular. Cada vez que visita una mesa virtual, SQLite, por otro lado, invoca el código del programa para recuperar el contenido. Ciertas actividades, como obtener datos de numerosos conjuntos de datos, pueden manejarse mediante código personalizado con lógica específica.

Comencemos con este artículo iniciando la base de datos SQLite-C-Bibrary de SQL en su sistema. Para esto, pruebe la palabra clave "sqlite3" como una instrucción en el shell y estará listo para comenzar. Se ha lanzado el terminal para la base de datos SQLite. Hemos probado el .Instrucción de tablas en su área de consulta para enumerar todas las tablas ya existentes de la base de datos. Desafortunadamente, no tenemos tablas en la base de datos en este momento. Por lo tanto, necesitamos crear una tabla para realizar una búsqueda de texto completo.

Creemos una nueva prueba de tabla en la base de datos SQLite utilizando la consulta Crear tabla de la base de datos. Esta tabla contendrá la columna de identificación del tipo entero y el título del tipo de texto. Ambas columnas no deben ser nulas según la consulta Crear tabla.

Crear prueba de tabla (ID int Prime Key, Text Title No NULL);

Después de la creación de una tabla de prueba, necesitamos poner algunos valores en ella. Hemos estado agregando los valores para la identificación de columnas y el título como se muestra. Después de eso, probamos la instrucción "Seleccionar" con el carácter "*" para obtener todos los registros recién insertados de una tabla de prueba.

Insertar en los valores de prueba (id, título) (1, 'maravillas');
Insertar en los valores de prueba (id, título) (2, 'maleficiente');
Insertar en los valores de prueba (ID, título) (3, 'Doctor Strange');
Insertar en los valores de prueba (ID, título) (4, 'Lucky');
Insertar en valores de prueba (ID, título) (5, 'Rush'); Seleccionar * de la prueba;

Busquemos la búsqueda de texto completo de la columna de título de la tabla de pruebas donde el registro coincide con "fts5".

Seleccione * de la prueba donde el título coincida con 'fts5';

Avencemos para realizar una búsqueda de texto completo en la tabla. La búsqueda de texto completo también se puede usar en las tablas virtuales. Por lo tanto, necesitamos crear una nueva tabla virtual. Para esto, hemos estado utilizando el comando Crear tabla virtual junto con el nombre de una tabla, "datos". Seguido de la palabra clave usando FTS5 y los nombres de la columna en los soportes. Estas columnas no contienen ningún tipo de datos, mientras que la creación de una tabla como FTS5 se ha aplicado.

Crear datos de tabla virtual usando FTS5 (título, información);

Después de crear la tabla virtual, necesitamos insertar registros en las dos columnas "Título" y "Información" de una tabla "Datos". Entonces, hemos agregado un total de 5 registros dentro de ambas columnas "Título" y "Información" de una tabla de datos. Puede ver que las columnas contienen valores de texto que contienen pequeñas y grandes cantidades de datos dentro de.

Insertar en los valores de datos (título, información) ('Wonders', 'esta película es de unos 7 amigos atrapados en la tierra de las maravillas.

Obtuvo un total de 230 millones de dólares);

Insertar en los valores de datos (título, información) ('Maléfica', 'Esta película trata sobre fantasía, magia y romance famoso sobre los jóvenes. Ganó un total de 300 millones de dólares);
Insertar en los valores de datos (título, información) ('Inception', 'Esta película se trata de cambiar su futuro al hacer a los sueños. Ganó un total de 500 millones de dólares);
Insertar en los valores de datos (título, información) ('2020', 'esta película retrata que el mundo alcanzará su fin en 2020 después de golpear un gran tsunami. Obtuvo un total de 600 millones de dólares);
Insertar en los valores de datos (título, información) ('Doctor Strange', 'se trata de la magia y su uso para sanar. Obtuvo un total de 800 millones de dólares);

Después de agregar los registros, hemos estado obteniendo todos sus datos utilizando la instrucción de selección con el carácter '*' en la consulta seguido del nombre de los datos de una tabla. Mostró los 5 registros.

Busquemos el texto completo en las columnas de los datos de una tabla. Para esto, hemos estado utilizando la instrucción de selección con la cadena coincidente 'FTS5' en la consulta. La cláusula Where contiene la condición de que la tabla de datos debe coincidir con la cadena 'FTS5' según la palabra clave de coincidencia. También puede reemplazar la coincidencia con el operador "=". Resulta que no hay una cadena 'fts5' en la tabla.

Seleccione * de los datos donde los datos coinciden con 'fts5';
Seleccionar * de datos donde datos = 'fts5';

Entonces, hemos estado agregando un nuevo registro en la tabla que contiene el patrón 'FTS5' en su contenido. Hemos probado el inserto en instrucción una vez más hasta ahora. Después de mostrar los datos de los datos de una tabla una vez más, hemos visto que el registro recién insertado también se ha mostrado.

Aplicemos la búsqueda de texto completo en la tabla de datos utilizando la instrucción Seleccionar seguida de la coincidencia de palabras clave y el patrón de cadena 'FTS5' para mostrar los únicos registros que contienen el patrón específico. Mostró un solo grabado en nuestra pantalla. La misma consulta se ha ejecutado con el operador "=" en lugar de la palabra clave de coincidencia y se muestra la misma salida.

Seleccione * de los datos donde los datos coinciden con 'fts5';
Seleccionar * de datos donde datos = 'fts5';
Seleccionar * de datos ('fts5');

Mostrar los registros de la tabla en el orden más relevante de los registros insertados. Para esto, usaremos la opción "Rank" en la consulta. Por lo tanto, hemos estado utilizando la búsqueda de texto completo para buscar el texto 'maravillas' de los datos de la tabla a través de la palabra clave de coincidencia y el orden por cláusulas siguiendo la opción "Rango". Mostró un solo registro de la tabla.

Seleccione * de los datos donde los datos coinciden con el orden de 'maravillas' por rango;

Otra forma de realizar una búsqueda de texto completo es usar el patrón dentro de los soportes después del nombre de la tabla en la instrucción Seleccionar.

Seleccionar * de Data ('Magic');

También puede usar la búsqueda de texto completo para buscar los valores de patrón de prefijo desde el contenido de la tabla. Para usar prefijos, debe agregar los primeros dos a tres caracteres seguido del personaje "*". Este valor de prefijo se puede usar en los soportes de la instrucción Seleccionar. Ahora, el uso de "Ro*" está mostrando el registro único para la película Maléfica cuya información de descripción contiene el prefijo "Ro" para "Romance".

Seleccionar * de datos ('ro *');

También puede restringir la búsqueda de un patrón al otro utilizando el operador no. Como hemos estado usando el texto mágico, no texto, por lo tanto, mostró dos registros para el patrón mágico.

Seleccione * de los datos donde los datos coinciden con el 'mágico no el texto';

Conclusión

Esta guía se trata del uso de la búsqueda de texto completo en la base de datos SQLite utilizada en Ubuntu 20.04. Usando FTS5, podemos buscar un patrón específico junto con algunas condiciones. Este artículo detallado lo ayudará a buscar mensajes de texto en SQLite.