Configurar y administrar separadores de palabras y lematizadores para la búsqueda

Los separadores de palabras y lematizadores realizan un análisis lingüístico de todos los datos indizados de texto completo. El análisis lingüístico incluye la búsqueda de los límites de las palabras (separación de palabras) y la conjugación de los verbos (lematización). Los separadores de palabras y lematizadores son específicos del idioma, y las reglas para el análisis lingüístico difieren en los diferentes idiomas. Para un idioma determinado, un separador de palabras identifica las palabras individuales determinando los límites de palabras en función de las reglas léxicas de ese idioma. Cada palabra (también conocida como token) se inserta en el índice de texto completo usando una representación comprimida para reducir su tamaño. El lematizador genera las formas de inflexión de una palabra determinada en función de las reglas de ese idioma (por ejemplo, "corriendo", "corrió" y "corredor" son varias formas de la palabra "carrera").

El uso de separadores de palabras específicos del idioma permite que los términos resultantes sean más precisos para dicho idioma. Cuando hay un separador de palabras para la familia de idiomas, pero no para el subidioma específico, se utiliza el del idioma principal. Por ejemplo, el separador de palabras del francés se utiliza en el texto escrito en francés de Canadá. Si no hay ningún separador de palabras disponible para un idioma concreto, se utiliza el separador de palabras neutral. El separador de palabras neutral divide las palabras en caracteres neutrales como espacios y marcas de puntuación.

Registrar separadores de palabras

Para usar los separadores de palabras de un idioma, se deben registrar. En el caso de los separadores de palabras registrados, los lematizadores lingüísticos asociados, las palabras irrelevantes (palabras irrelevantes) y los archivos de diccionario de sinónimos también están disponibles para las operaciones de indexación y consulta de texto completo. Para ver una lista de los lenguajes cuyos separadores de palabras están registrados actualmente con SQL Server, use la siguiente instrucción Transact-SQL:

SELECT * FROM sys.fulltext_languages

Si agrega, quita o modifica un separador de palabras, necesita actualizar la lista de identificadores de configuración regional (LCID) de Microsoft Windows que se admiten para la indización y las consultas de texto completo. Para obtener más información, consulte ver o cambiar los filtros registrados y separadores de palabras.

Opción de configuración Idioma predeterminado de texto completo

Para una versión localizada de SQL Server, SQL Server programa de instalación establece la default full-text language opción en el idioma del servidor si existe una coincidencia adecuada. Para una versión no localizada de SQL Server, la default full-text language opción es inglés.

Al crear o modificar un índice de texto completo, puede especificar un idioma diferente para cada columna indizada de texto completo. Si no se especifica ningún idioma para una columna, el valor predeterminado es el de la opción de configuración default full-text language.

Nota:

Todas las columnas de una cláusula de función de consulta de texto completo deben utilizar el mismo idioma, a menos que se especifique la opción LANGUAGE en la consulta. El idioma de la columna indexada de texto completo que se consulta determina el análisis lingüístico realizado en los argumentos de los predicados de la consulta de texto completo (CONTAINS y FREETEXT) y de las funciones (CONTAINSTABLE y FREETEXTTABLE).

Elegir el idioma para una columna indizada

Al crear un índice de texto completo, es recomendable que especifique un idioma para cada columna indizada. Si un idioma no se especifica para una columna, el sistema utiliza el idioma predeterminado del sistema. El idioma de una columna determina el separador de palabras y el lematizador que se utilizará para indizar esa columna. Además, las consultas de texto completo de la columna utilizarán el archivo de diccionario de sinónimos del idioma.

Hay varios aspectos que deben tenerse en cuenta al elegir el idioma de columna cuando se crea un índice de texto completo. Estas consideraciones se refieren al modo en que se acorta el texto y se indiza a continuación mediante el motor de texto completo. Para obtener más información, vea Elegir un idioma al crear un índice de texto completo.

Para ver el idioma del separador de palabras de una columna

Obtener información acerca de los separadores de palabras

Ver el resultado de la tokenización de una combinación entre un separador de palabras, un diccionario de sinónimos y una lista de palabras irrelevantes

Para devolver información sobre los separadores de palabras registrados

Solución de problemas de errores de tiempo de espera en la separación de palabras

Se puede producir un error de tiempo de espera en la separación de palabras en diversas situaciones. Para obtener más información sobre estas situaciones y cómo responder en cada situación, vea MSSQLSERVER_30053.

Comprensión del impacto de nuevos separadores de palabras

Cada versión de SQL Server normalmente incluye nuevos separadores de palabras que tienen mejores reglas lingüísticas y son más precisos que los separadores de palabras anteriores. Potencialmente, los nuevos separadores de palabras pueden comportarse ligeramente de manera diferente a los separadores de palabras en índices de texto completo importados de versiones anteriores de SQL Server. Esto es importante si se importó un catálogo de texto completo cuando se actualizó una base de datos a la versión actual de SQL Server. Un o varios idiomas que Usen los índices de texto completo del catálogo de texto completo podrían estar asociados ahora a nuevos separadores de palabras. Para obtener más información, vea Actualizar la búsqueda de texto completo.

Para obtener una lista completa de todos los separadores de palabras, consulte sys.fulltext_languages (Transact-SQL).

Consulte también

ALTER FULLTEXT INDEX (Transact-SQL)
CREATE FULLTEXT INDEX (Transact-SQL)
sp_fulltext_service (Transact-SQL)
sys.fulltext_languages (Transact-SQL)
Configurar y administrar palabras irrelevantes y listas de palabras irrelevantes para la búsqueda de texto completo
Actualizar la búsqueda de texto completo