Búsqueda de texto completo en MariaDB
  • 09 Feb 2024
  • 1 Minuto para leer

Búsqueda de texto completo en MariaDB


Article Summary

La búsqueda de texto completo (FTS) permite un enfoque sofisticado para la búsqueda de texto en Totara, particularmente dentro del catálogo. Los detalles de cómo configurar esto usando MariaDB se pueden encontrar en esta página.  

admitir más de 20 idiomas.

MariaDB utiliza una intercalación insensible a mayúsculas y minúsculas para la búsqueda de texto completo por defecto, pero puedes especificar una intercalación diferente si es necesario. Por ejemplo:

$CFG->dboptions['ftslanguage'] = 'utf8_unicode_ci';
 $CFG->dboptions['ftslanguage'] = 'utf8mb4_0900_as_ci';
 $CFG->dboptions['ftslanguage'] = 'utf8mb4_de_pb_0900_ai_ci';

MariaDB no es compatible con japoneses y otros idiomas con palabras muy cortas sin espacios en el medio. Puedes habilitar la siguiente configuración para obtener un soporte experimental básico de estos idiomas:

$CFG->dboptions['fts3bworkaround'] = true;

Después de realizar cualquiera de estos cambios, vuelva a completar las tablas FTS ejecutando:

php admin/cli/fts_repopulate_tables.php

Longitud mínima del término de búsqueda

El límite de caracteres de búsqueda por defecto de MariaDB se puede cambiar editando el archivo de configuración, como se muestra a continuación:

[mysqld]
 innodb_ft_min_token_size=2
 ft_min_word_len=2

Palabras de detención

Las palabras de detención son un conjunto de palabras que se excluirán del índice y de la consulta de búsqueda. Dependen del idioma utilizado durante la indexación y la búsqueda, así como de la presencia en el diccionario para la instalación de la base de datos. Por ejemplo, si el usuario busca 'Hoteles en Wellington', el sistema excluye 'en' de la búsqueda.

Puedes encontrar más detalles sobre las palabras de detención de MariaDB en: https://mariadb.com/kb/en/library/full-text-index-stopwords/

Búsqueda morfológica

Desafortunadamente, MariaDB no admite el plugin de Ngram que se utiliza en MySQL para realizar el procesamiento de palabras, por lo que no podemos aconsejar en esta etapa cómo habilitar la búsqueda morfológica en MariaDB.

Búsqueda no acentuada

Por defecto, MariaDB admite diacríticos, pero depende de la recopilación. Por ejemplo, cuando la recopilación es utf8_general_ci, la consulta de búsqueda que contiene la palabra 'första' o 'forsta' devolverá un registro que contiene la palabra 'första'.

© Copyright 2024 Totara Learning Solutions. All rights reserved. Some content originally obtained via GPLv3 license and continues to be available under GPLv3. All other content is the sole copyright of Totara Learning Solutions. 


¿Te ha sido útil este artículo?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.