Gestire e monitorare la ricerca semantica
Si applica a: SQL Server
Vengono illustrati il processo di indicizzazione semantica e le attività correlate alla gestione e al monitoraggio degli indici.
Verificare lo stato dell'indicizzazione semantica
Verifica del completamento della prima fase dell'indicizzazione semantica
Esegui una query sulla DMV sys.dm_fts_index_population (Transact-SQL) e verifica lo stato e le colonne status_description.
La prima fase dell'indicizzazione include il popolamento dell'indice di parole chiave full-text e dell'indice di frasi chiave semantico, nonché l'estrazione dei dati di somiglianza dei documenti.
USE database_name
GO
SELECT * FROM sys.dm_fts_index_population WHERE table_id = OBJECT_ID('table_name')
GO
Verifica del completamento della seconda fase dell'indicizzazione semantica
Esegui una query sulla DMV sys.dm_fts_semantic_similarity_population (Transact-SQL) e verifica lo stato e le colonne status_description.
La seconda fase dell'indicizzazione include il popolamento dell'indice di somiglianza dei documenti semantico.
USE database_name
GO
SELECT * FROM sys.dm_fts_semantic_similarity_population WHERE table_id = OBJECT_ID('table_name')
GO
Verificare le dimensioni degli indici semantici
Individuazione della dimensione logica di un indice di frasi chiave semantico o di un indice di somiglianza dei documenti semantico
Esegui una query sulla DMV sys.dm_db_fts_index_physical_stats (Transact-SQL).
La dimensione logica viene visualizzata in numero di pagine di indice.
USE database_name
GO
SELECT * FROM sys.dm_db_fts_index_physical_stats WHERE object_id = OBJECT_ID('table_name')
GO
Individuazione delle dimensioni totali degli indici full-text e semantici per un catalogo full-text
Esegui una query sulla proprietà IndexSize della funzione per i metadati FULLTEXTCATALOGPROPERTY (Transact-SQL).
SELECT FULLTEXTCATALOGPROPERTY('catalog_name', 'IndexSize')
GO
Individuazione del numero di elementi indicizzati negli indici full-text e semantico per un catalogo full-text
Esegui una query sulla proprietà ItemCount della funzione per i metadati FULLTEXTCATALOGPROPERTY (Transact-SQL).
SELECT FULLTEXTCATALOGPROPERTY('catalog_name', 'ItemCount')
GO
Forzare il popolamento degli indici semantici
È possibile forzare il popolamento degli indici full-text e semantici utilizzando la clausola START/STOP/PAUSE o RESUME POPULATION con la stessa sintassi e lo stesso comportamento descritti per gli indici full-text. Per ulteriori informazioni, vedi ALTER FULLTEXT INDEX (Transact-SQL) e Popolamento degli indici full-text.
Poiché l'indicizzazione semantica dipende dall'indicizzazione full-text, gli indici semantici vengono popolati solo al popolamento degli indici full-text associati.
Esempio: Avviare una popolazione completa di indici full-text e semantici
Nell'esempio seguente viene avviata la popolazione completa degli indici semantici e full-text mediante la modifica di un indice full-text esistente nella tabella Production.Document del database AdventureWorks2022
di esempio.
USE AdventureWorks2022
GO
ALTER FULLTEXT INDEX ON Production.Document
START FULL POPULATION
GO
Disattivare o riabilitare l'indicizzazione semantica
È possibile abilitare o disabilitare l'indicizzazione full-text o semantica utilizzando la clausola ENABLE/DISABLE con la stessa sintassi e lo stesso comportamento descritti per gli indici full-text. Per altre informazioni, vedere ALTER FULLTEXT INDEX (Transact-SQL).
Quando l'indicizzazione semantica è disabilitata e sospesa, le query sui dati semantici continuano a funzionare correttamente e a restituire dati precedentemente indicizzati. Questo comportamento non è coerente con quello della ricerca full-text.
-- To disable semantic indexing on a table
USE database_name
GO
ALTER FULLTEXT INDEX ON table_name DISABLE
GO
-- To re-enable semantic indexing on a table
USE database_name
GO
ALTER FULLTEXT INDEX ON table_name ENABLE
GO
Fasi di indicizzazione semantica
Tramite la ricerca semantica vengono indicizzati due tipi di dati per ogni colonna in cui è abilitata:
Frasi chiave
Somiglianza dei documenti
L'indicizzazione semantica viene eseguita in due fasi, insieme all'indicizzazione full-text:
Fase 1. L'indice delle parole chiave full-text e l'indice delle frasi chiave semantico vengono popolati in parallelo. In questa fase vengono anche estratti i dati necessari per indicizzare la somiglianza dei documenti.
Fase 2. Viene quindi popolato l'indice di somiglianza dei documenti semantico. Questo indice dipende da entrambi gli indici popolati nella fase precedente.
Problema: gli indici semantici non vengono popolati
Verificare se gli indici full-text associati sono stati popolati.
Poiché l'indicizzazione semantica dipende dall'indicizzazione full-text, gli indici semantici vengono popolati solo al popolamento degli indici full-text associati.
Verificare se la ricerca full-text e la ricerca semantica sono state installate e configurate correttamente.
Per altre informazioni, vedere Installazione e configurazione della ricerca semantica.
Controllare se il servizio FDHOST è disponibile o se si è verificata un'altra condizione che provoca la mancata esecuzione dell'indicizzazione full-text.
Per altre informazioni, vedere Risoluzione dei problemi nell'indicizzazione full-text.