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 utilizando 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.

En este tema

  • Registrar separadores de palabras

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

  • Elegir el idioma para una columna indizada

  • Obtener información acerca de los separadores de palabras

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

  • Comprensión del impacto de nuevos separadores de palabras

Registrar separadores de palabras

Para usar los separadores de palabras de un idioma, se deben registrar. Con los separadores de palabras registrados, los recursos lingüísticos asociados (lematizadores, palabras irrelevantes y archivos de sinónimos) también están disponibles para las operaciones de indización y consulta de texto completo. Para ver una lista de los idiomas cuyos separadores de palabras están registrados en SQL Server, use la 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, vea Ver o cambiar los filtros y separadores de palabras registrados.

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

En las versiones localizadas de SQL Server, el programa de instalación de SQL Server establece la opción idioma de texto completo predeterminado en el idioma del servidor, si existe una correspondencia apropiada. En las versiones no traducidas de SQL Server, la opción default full-text language es el 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 indizada 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 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 anteriores separadores de palabras. Los nuevos separadores de palabras podrían comportarse de manera ligeramente diferente que los separadores de palabras de los índices de texto completo que se importaron de versiones anteriores de SQL Server. Esto es relevante si se importó un catálogo de texto completo cuando una base de datos se actualizó 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 desde SQL Server 2005.

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

Vea también

Referencia

ALTER FULLTEXT INDEX (Transact-SQL)

CREATE FULLTEXT INDEX (Transact-SQL)

sp_fulltext_service (Transact-SQL)

sys.fulltext_languages (Transact-SQL)

Conceptos

Configurar y administrar palabras irrelevantes y listas de palabras irrelevantes para la búsqueda de texto completo

Actualizar la búsqueda de texto completo desde SQL Server 2005