Gestire e monitorare la ricerca semantica

Si applica a:SQL Server

Questo articolo spiega come verificare lo stato e la dimensione dell'indicizzazione, forzare la popolazione e disabilitare o riabilitare l'indicizzazione semantica. L'indicizzazione semantica si svolge in due fasi insieme all'indicizzazione full-text.

Verificare lo stato dell'indicizzazione semantica

Verifica del completamento della prima fase dell'indicizzazione semantica

Consulta la vista a gestione dinamica sys.dm_fts_index_population e controlla le colonne status e 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

Interroga la vista a gestione dinamica sys.dm_fts_semantic_similarity_population e controlla le colonne status e 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

Consulta la vista a gestione dinamica sys.dm_db_fts_index_physical_stats.

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

Qual è la dimensione totale degli indici full-text e semantici di un catalogo full-text?

Interroga la proprietà IndexSize della funzione di metadati FULLTEXTCATALOGPROPERTY.

SELECT FULLTEXTCATALOGPROPERTY('catalog_name', 'IndexSize');
GO

Quanti elementi sono indicizzati negli indici full-text e semantici per un catalogo full-text?

Interroga la proprietà ItemCount della funzione di metadati FULLTEXTCATALOGPROPERTY.

SELECT FULLTEXTCATALOGPROPERTY('catalog_name', 'ItemCount');
GO

Forzare il popolamento degli indici semantici

Puoi forzare la popolazione di indici a testo completo e semantici usando , STARTSTOP, PAUSE, o RESUME POPULATION clausola con la stessa sintassi e comportamento descritti per gli indici a testo completo. Per ulteriori informazioni, vedere ALTER FULLTEXT INDEX e Popolare gli indici full-text.

Poiché l'indicizzazione semantica dipende dall'indicizzazione di testo completo, gli indici semantici vengono popolati solo quando gli indici di testo completo associati vengono popolati.

Esempio: avviare una popolazione completa di indici a testo completo e semantici

Il seguente esempio avvia la popolazione completa sia degli indici a testo completo che di quelli semantici modificando un indice a testo completo esistente nella Production.Document tabella nel AdventureWorks2025 database di esempio.

USE AdventureWorks2025;
GO

ALTER FULLTEXT INDEX ON Production.Document
    START FULL POPULATION;
GO

Disattivare o riabilitare l'indicizzazione semantica

Puoi abilitare o disabilitare l'indicizzazione a testo completo o semantica usando la ENABLE clausola or DISABLE con la stessa sintassi e comportamento descritti per gli indici a testo completo. Per altre informazioni, vedere ALTER FULLTEXT INDEX.

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 il comportamento 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

Semantic Search indica due tipi di dati per ogni colonna su cui è abilitato:

  1. Frasi chiave

  2. Somiglianza dei documenti

L'indicizzazione semantica viene eseguita in due fasi, insieme all'indicizzazione full-text:

  1. Fase 1. L'indice delle parole chiave full-text e l'indice delle frasi chiave semantiche vengono popolati in parallelo allo stesso tempo. In questa fase vengono anche estratti i dati necessari per indicizzare la somiglianza dei documenti.

  2. 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 sono popolati

Verificare se gli indici full-text associati sono stati popolati.

Poiché l'indicizzazione semantica dipende dall'indicizzazione di testo completo, gli indici semantici vengono popolati solo quando gli indici di testo completo associati vengono popolati.

Full-Text Ricerca e Ricerca Semantica sono installate e configurate correttamente?

Per altre informazioni, vedere Installazione e configurazione della ricerca semantica.

Il servizio fdhost non è disponibile, oppure c'è un'altra condizione che potrebbe causare il fallimento dell'indicizzazione del testo completo?

Per ulteriori informazioni, vedere Risolvere i problemi relativi all'indicizzazione full-text.