Architettura della ricerca full-text
Data aggiornamento: 14 aprile 2006
In Microsoft SQL Server 2005, la ricerca full-text è supportata da Microsoft Full-Text Engine for SQL Server (MSFTESQL). Il servizio MSFTESQL svolge due ruoli: il supporto per l'indicizzazione e quello per l'esecuzione di query.
Nella figura seguente viene illustrata l'architettura della ricerca full-text in SQL Server.
L'architettura è costituita dai processi seguenti:
- Processo di SQL Server (Sqlservr.exe)
- Motore di ricerca full-text Microsoft per il processo SQL Server (Msftesql.exe)
- Processo del daemon di filtri per il motore di ricerca full-text Microsoft (Msftefd.exe)
Ognuno di questi processi contiene diversi componenti, descritti nelle sezioni che seguono.
Processo di SQL Server
Il processo di SQL Server è costituito dai componenti seguenti:
- Tabelle utente
Queste tabelle contengono i dati da inserire nell'indice full-text. - Mappa delle chiavi
Questo componente contiene il mapping tra i valori dei dati delle colonne chiave full-text e gli ID dei documenti interni. - Query Processor di SQL Server
- Gatherer full-text Microsoft
Questo componente consente di pianificare e gestire il popolamento degli indici full-text, nonché di monitorare i cataloghi full-text.
Processo del motore di ricerca full-text Microsoft per SQL Server (MSFTESQL)
Il servizio MSFTESQL è responsabile delle operazioni indicate di seguito:
- Popolamento e gestione dei cataloghi full-text.
- Semplificazione delle ricerche full-text nelle tabelle dei database di SQL Server.
Il processo MSFTESQL ospita i componenti elencati nella tabella seguente.
Componente | Descrizione |
---|---|
Strumento di gestione del daemon di filtri |
Consente il monitoraggio dello stato del processo del daemon di filtri per il motore di ricerca full-text Microsoft (MSFTEFD). |
Indicizzatore |
Consente di costruire la struttura dell'indice inverso utilizzata per archiviare i token indicizzati. Per ulteriori informazioni, vedere Struttura di un indice full-text. |
File del thesaurus |
Contengono i sinonimi dei termini della ricerca. Per ulteriori informazioni, vedere Thesaurus. |
File delle parole non significative |
Contengono un elenco delle parole che ricorrono frequentemente e che non risultano utili per la ricerca. Per ulteriori informazioni, vedere Parole non significative. |
Word breaker e stemmer |
Eseguono l'analisi linguistica su tutti i dati con indicizzazione full-text. Un word breaker è il componente che determina la posizione dell'inizio e della fine delle parole all'interno di un flusso di testo nella riga di cui viene eseguita l'indicizzazione full-text. Uno stemmer estrae la radice di una determinata parola. Ad esempio, "running", "ran" e "runner" sono forme diverse del termine "run". Il servizio MSFTESQL richiama gli stemmer durante la query se si tratta di una query FREETEXT o se è necessaria un'espansione flessiva. |
Per ulteriori informazioni, vedere Word breaker e stemmer.
Per ulteriori informazioni sul servizio MSFTESQL, vedere Microsoft Full-Text Engine for SQL Server.
Processo del daemon di filtri per il motore di ricerca full-text Microsoft (MSFTEFD)
MSFTEFD viene generato dal servizio MSFTESQL durante il processo di indicizzazione full-text. Il servizio MSFTEFD include i componenti seguenti, responsabili dell'accesso ai dati delle tabelle e della relativa applicazione di filtri, word breaker e stemmer.
- Gestore di protocollo
In SQL Server 2005, questo componente accede ai dati di una tabella in un database specificato. - Filtri
Estraggono un flusso di informazioni testuali da un documento, eliminando tutte le informazioni di formattazione e di carattere non testuale. Per ulteriori informazioni, vedere Filtri di ricerca full-text. - Word breaker e stemmer
Tabelle interne
La ricerca full-text utilizza le tabelle interne seguenti:
- fulltext_index_map memorizza i mapping tra colonne chiave full-text e ID dei documenti interni che identificano i documenti in modo univoco.
- fulltext_catalog_freelist memorizza gli ID dei documenti non utilizzati.
[!NOTA] Queste tabelle sono solo per uso interno. Non possono essere modificate né sottoposte a query. La compatibilità con le versioni precedenti non è garantita, come anche la disponibilità di queste tabelle nelle versioni future di SQL Server.
Cronologia delle modifiche
Versione | Cronologia |
---|---|
14 aprile 2006 |
|
Vedere anche
Concetti
Microsoft Full-Text Engine for SQL Server
Processo di indicizzazione e query full-text