Colección de citas famosas - Frases inspiradoras - Cómo agregar un índice de texto completo en MySql

Cómo agregar un índice de texto completo en MySql

El uso de índices es una de las habilidades necesarias para optimizar el rendimiento de la base de datos. En la base de datos MySQL, existen cuatro tipos de índices: índice agrupado (índice de clave primaria), índice ordinario, índice único e índice de texto completo.

La indexación de texto completo (también conocida como recuperación de texto completo) es una tecnología clave que utilizan actualmente los motores de búsqueda. Puede utilizar varios algoritmos, como la tecnología de segmentación de palabras, para analizar de forma inteligente la frecuencia y la importancia de las palabras clave en el texto y luego filtrar de forma inteligente los resultados de búsqueda que queremos de acuerdo con ciertas reglas de algoritmo. Aquí no profundizaremos en su principio de implementación. Ahora veamos cómo crear y usar un índice de texto completo en MySQL.

En MySQL, crear un índice de texto completo es relativamente sencillo. Por ejemplo, tenemos una tabla de artículos que contiene tres campos: ID de clave principal (ID), título del artículo (título) y contenido del artículo (contenido). Ahora queremos crear un índice de texto completo en las columnas de título y contenido. Las sentencias SQL utilizadas para crear la tabla de elementos y el índice de texto completo son las siguientes:

-Crear tabla de artículos

Crear elemento de tabla (

id INT UNSIGNED AUTO_INCREMENT clave principal no nula,

título VARCHAR(200),

texto de contenido,

texto completo (título, contenido): crear un índice de texto completo en las columnas de título y contenido

);

Lo anterior es un ejemplo SQL de cómo crear un índice de texto completo al crear una tabla. Además, si queremos crear un índice de texto completo para un campo específico de una tabla existente, tomando como ejemplo la tabla de artículos, podemos usar la siguiente instrucción SQL para crearlo:

-For el título y el contenido de la tabla de artículos existente. Cree un índice de texto completo en el campo.

-El nombre del índice es fulltext_article.

Cambiar elementos de la tabla

Agregar índice de texto completo artículo_texto completo (título, contenido)

Después de crear un índice de texto completo en MySQL, es hora para aprender a usarlo. Como todos sabemos, las consultas difusas en la base de datos se consultan utilizando la palabra clave LIKE, por ejemplo:

Seleccione * del artículo, que contiene contenido similar a "cadena de consulta"

Luego, esto es ¿Utilizamos indexación de texto completo? Por supuesto que no. Tenemos que utilizar una sintaxis especial para consultar el índice de texto completo. Por ejemplo, si queremos buscar una cadena de consulta específica en las columnas de título y contenido de la tabla de artículos, podemos escribir la siguiente instrucción SQL:

Seleccione * del artículo donde coincida (título, contenido) contra ('cadena de consulta').

Nota importante: el índice de texto completo de MySQL solo se puede utilizar para tablas de datos cuyo motor de base de datos sea MyISAM. Si se trata de otros motores de datos, la indexación de texto completo no tendrá efecto. Además, el índice de texto completo de MySQL solo se puede utilizar para la recuperación de texto completo en inglés y actualmente no se puede utilizar para la recuperación de texto completo en chino. Si necesita realizar una recuperación de texto completo de datos de texto, incluido el chino, debemos utilizar la tecnología Sphinx/Coreseek para procesar el chino. Este sitio presentará Sphinx y Coreseek en artículos posteriores.

Nota 1: Cuando se utiliza actualmente el índice de texto completo de MySQL, si la longitud de la cadena de consulta es demasiado corta, no se obtendrán los resultados de búsqueda esperados. La longitud mínima de palabra predeterminada que puede encontrar un índice de texto completo de MySQL es de 4 caracteres. Además, si la cadena de consulta contiene palabras vacías, se ignorarán.

Nota 2: Si es posible, cree una tabla e inserte todos los datos antes de crear el índice de texto completo, en lugar de crear directamente el índice de texto completo al crear la tabla, porque el primero es más eficiente que el último.