Separadores de palabras y lematizadores
Los separadores de palabras y lematizadores realizan un análisis lingüístico de todos los datos indizados de texto. 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.
Registro de los 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 Cómo modificar la lista de filtros y separadores de palabras registrados (Transact-SQL).
En SQL Server 2008 se incluyen varios separadores de palabras de terceros autorizados. Puede cargar manualmente otros separadores de palabras de terceros (y lematizadores) para distintos idiomas (danés, polaco y turco). Para obtener más información, vea Cómo cargar separadores de palabras de terceros con licencia.
Opción de idioma 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 un idioma para una columna, el valor predeterminado es el de la opción de configuración default full-text language.
Para obtener más información, vea default full-text language (opción).
[!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 un idioma al crear un índice de texto completo para una columna
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 Prácticas recomendadas para elegir un idioma al crear un índice de texto completo.
Para ver el idioma del separador de palabras de una columna
Cómo ver o cambiar las propiedades de un índice de texto completo (SQL Server Management Studio)
sys.fulltext_index_columns (Transact-SQL)
SELECT 'language_id' AS "LCID" FROM sys.fulltext_index_columns;
Efecto de los nuevos separadores de palabras de SQL Server 2008
SQL Server 2008 incluye separadores de palabras para más de 50 idiomas de los que 23 también están incluidos en SQL Server 2005. Los únicos separadores de palabras que siguen siendo iguales son los separadores de palabras de inglés, coreano, tailandés y chino (tradicional y simplificado). Para otros idiomas, SQL Server 2008 incluye una nueva generación de separadores de palabras que tienen mejores reglas lingüísticas y son más precisos que los anteriores. Posiblemente, los nuevos separadores de palabras podrían comportarse de manera ligeramente diferente que los de los índices de texto completo de SQL Server 2005 importados. Esto es significativo si se importó un catálogo de texto completo cuando una base de datos de SQL Server 2005 se actualizó a SQL Server 2008. 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 Actualización de la búsqueda de texto completo.
Versiones de los separadores de palabras de los idiomas admitidos en SQL Server 2005
Los únicos separadores de palabras que siguen siendo iguales son los separadores de palabras de inglés, coreano, tailandés y chino (tradicional y simplificado). La tabla siguiente muestra los separadores de palabras que existían en SQL Server 2005 e indica si se han actualizado en SQL Server 2008. Para obtener una lista completa de todos los separadores de palabras de SQL Server 2008, vea sys.fulltext_languages (Transact-SQL).
[!NOTA]
Los separadores de palabras para la mayoría de los idiomas están registrados de forma predeterminada. Sin embargo, existen varios separadores de palabras de terceros autorizados que están deshabilitados de forma predeterminada. Para obtener información sobre estos idiomas y cómo registrar estos separadores de palabras, vea Cómo cargar separadores de palabras de terceros con licencia.
Idioma |
LCID |
Separadores de palabras |
---|---|---|
Portugués (Brasil) |
1046 |
Nuevo |
Chino (Hong Kong ZAE, RPC) |
3076 |
Sin cambios |
Chino (Macao RAE) |
5124 |
Sin cambios |
Chino (Singapur) |
4100 |
Sin cambios |
Danés (está deshabilitado de forma predeterminada) |
1030 |
Sin cambios |
Neerlandés |
1043 |
Nuevo |
Inglés |
1033 |
Sin cambios |
Inglés (Reino Unido) |
2057 |
Sin cambios |
Francés |
1036 |
Nuevo |
Alemán |
1031 |
Nuevo |
Italiano |
1040 |
Nuevo |
Japonés |
1041 |
Nuevo |
Coreano |
1042 |
Sin cambios |
Neutro |
0 |
Nuevo |
Polaco (está deshabilitado de forma predeterminada) |
1045 |
Sin cambios |
Portugués |
2070 |
Nuevo |
Ruso |
1049 |
Nuevo |
Chino simplificado |
2052 |
Sin cambios |
Español |
3082 |
Nuevo |
Sueco |
1053 |
Nuevo |
Tailandés |
1054 |
Sin cambios |
Chino tradicional |
1028 |
Sin cambios |
Turco (está deshabilitado de forma predeterminada) |
1055 |
Sin cambios |
Para obtener una lista completa de los idiomas admitidos, vea sys.fulltext_languages (Transact-SQL).
Errores de tiempo de espera en la divisió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.
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
Historial de cambios
Contenido actualizado |
---|
Se ha actualizado la sección "Registro de los separadores de palabras". |
Vea también