Utilizando Lucene, se pueden recuperar los términos contenidos en un índice, es decir, las palabras derivadas únicas, excluyendo palabras de parada, que contienen los documentos en el índice. Esto es útil para generar sugerencias de autocompletar, entre otras cosas. ¿Es posible algo similar con los índices de texto completo de MS SQL Server?Recuperación de los términos del índice de texto completo de SQL Server
Respuesta
Puede usar la nueva vista del sistema en SQL Server 2008 para obtener los términos y el recuento de las ocurrencias, ¿esto es lo que quiere?
sys.dm_fts_index_keywords_by_document
(
DB_ID('database_name'),
OBJECT_ID('table_name')
)
Debe proporcionar el db_id y el object_id de la tabla de texto completo. Este es el enlace de MSDN para esto.
Estoy de acuerdo de que esta información (palabras del índice, se derivó palabras, etc.) es muy útil - y si SQL Server es serio compromiso de ofrecer una plataforma advanced, es necesario exponer esta información. Realmente no está disponible en versiones anteriores, por lo que puedo decir. Sin embargo, el juego cambia en SQL Server 2008.
SQL Server 2008 ofrece nuevas vistas de gestión dinámica que ofrecen estos metadatos para texto completo. Preste especial atención a sys.dm_fts_parser y sys.dm_fts_index_keywords.
La vista sys.dm_fts_parser toma una frase, junto con un par de otros parámetros y muestra una tabla que muestra un conjunto de filas, mostrando las versiones derivadas de las palabras individuales después de que el separador de palabras las haya considerado como palabras separadas.
MSDN da el ejemplo de esta consulta en la vista:
SELECT * FROM sys.dm_fts_parser (' "The Microsoft business analysis" ', 1033, 0, 0)
Para obtener las palabras clave, puede utilizar sys.dm_fts_index_keywords.
Espero que eso te dirija en la dirección correcta. Aclamaciones.
sys.dm_fts_index_keywords
da devoluciones la lista de términos indexados, con estadísticas adicionales, no la lista de palabras irrelevantes que se restituye gracias a sys.fulltext_stopwords
.
Con lo siguiente, puede tomar el nombre de la tabla y el nombre de la columna como variables. Funcionará en la base de datos actual que se ejecuta, omitirá los resultados del final del archivo y ordenará los resultados descendiendo por el número de apariciones.
Tenga en cuenta que la indexación de texto completo debe estar habilitado en esa tabla y la columna
DECLARE @TableName NVARCHAR(200) = 'MyTable'
DECLARE @ColumnName NVARCHAR(200) = 'MyColumn'
SELECT DISTINCT(display_term), occurrence_count FROM sys.dm_fts_index_keywords_by_document
(
DB_ID(),
OBJECT_ID(@TableName)
)
WHERE column_id =
(
SELECT TOP 1 col.column_id FROM sys.objects obj
INNER JOIN sys.columns col ON col.object_id = obj.object_id
WHERE obj.name = @TableName
AND col.name = @ColumnName
)
AND keyword != 0xFF
ORDER BY occurrence_count DESC
- 1. SQL Server: índice normal versus índice de texto completo
- 2. Búsqueda de texto completo de SQL Server
- 3. Estimación del tamaño del índice de texto completo
- 4. índice agrupado de SQL Server - Orden del Índice Pregunta
- 5. SQL Server Coste del índice
- 6. Cómo determinar el tamaño de un índice de texto completo en SQL Server 2008 R2?
- 7. Postgres índice de texto completo
- 8. MySQL índice de texto completo
- 9. SQL Server; índice en la columna TEXTO
- 10. Crear números pequeños del índice SQL Server
- 11. SQL Server Search Nombres adecuados Índice de texto completo vs LIKE + SOUNDEX
- 12. Crear un índice de texto completo en una vista en SQL Server 2005
- 13. Ranking de búsqueda de texto completo (SQL Server)
- 14. Indique qué columnas tienen un índice de texto completo en SQL Server 2005
- 15. Sql Server 2008 Express con búsqueda de texto completo
- 16. ¿Búsqueda del índice de texto completo en Eclipse?
- 17. Catálogo de texto completo/búsqueda de índice% libro%
- 18. Obtenga los términos de frecuencia más altos del índice Lucene
- 19. ¿Cómo reconstruir el índice de texto completo?
- 20. Obtener frecuencias de palabras de SQL Server Búsqueda de texto completo
- 21. SQL Server Rendimiento del índice - columna larga
- 22. ¿Cómo puedo saber cuándo ha terminado la población de índice de texto completo de SQL?
- 23. ¿Por qué no puedo crear este índice de texto completo del servidor sql?
- 24. Búsqueda de texto completo de SQL Server PDF no funciona en FileStream Archivo PDF
- 25. Uso de búsqueda de texto completo con archivos PDF en SQL Server 2005
- 26. Uso de la búsqueda de texto completo en SQL Server 2008 en varias tablas, columnas
- 27. Las preocupaciones sobre SQL Server 2008 Texto completo Búsqueda
- 28. ¿Cómo habilitar la indexación de texto completo en SQL Server 2005 Express?
- 29. Retraso en el uso de la búsqueda de texto completo en SQL Server
- 30. Consulta de texto completo de SQL Server en varias tablas: ¿por qué tan lento?