Condividi tramite


Notifica dell'indice delle modifiche (funzionalità dell'ambiente Windows legacy)

Nota

Windows Desktop Search 2.x è una tecnologia obsoleta originariamente disponibile come componente aggiuntivo per Windows XP e Windows Server 2003. Nelle versioni successive usare invece Windows Search .

Con Microsoft Windows Desktop Search (WDS) 2.6, i gestori di protocolli per un determinato archivio dati possono indicare all'indicizzatore WDS quando i dati nell'archivio sono stati modificati. Ciò migliora le prestazioni assicurando che l'indicizzatore non esegue la ricerca per indicizzazione dell'intero archivio negli indici incrementali. Usando le API di notifica, i gestori del protocollo possono notificare all'indicizzatore che un elemento è stato spostato o eliminato e può aggiungere ambiti alla coda di indicizzazione di WDS Indexer che richiede l'indicizzazione. La notifica è utile per applicazioni come posta elettronica, in cui il gestore del protocollo monitora l'archivio e notifica all'indicizzatore che gli elementi sono stati modificati e richiedono l'indicizzazione.

ISearchItemsChangedSink

I gestori del protocollo notificano all'indicizzatore le modifiche tramite l'interfaccia ISearchItemsChangedSink . Le informazioni sulle modifiche ai dati devono essere raccolte in SEARCH_ITEM_CHANGE struct e SEARCH_KIND_OF_CHANGE tipi di enumerazione e quindi comunicati all'indicizzatore tramite il metodo OnItemsChanged dell'interfaccia ISearchItemsChangedSink .

Per accedere a questa interfaccia, i gestori di protocolli personalizzati devono creare prima un'istanza di un oggetto ISearchManager per ottenere l'accesso all'oggetto ISearchCatalogManager . Da qui, è possibile creare un'istanza di un oggetto ISearchItemsChangedSink e inviare una notifica all'indicizzatore delle modifiche ai dati.

Il metodo OnItemsChanged consente di raccogliere e comunicare le modifiche ai dati dell'archivio dati del cliente per avviare l'indicizzazione.

Direction Variabile Descrizione
In dwNumberofChanges Numero totale di modifiche nella notifica.
In DataChangeEntries[] Tutte le notifiche di modifica in una matrice di strutture SEARCH_ITEM_CHANGE.
In uscita dwBatchId ID batch che verrà passato di nuovo con errori.
In uscita hrCompletionCodes[] Indica se ogni URL è stato accettato per l'indicizzazione.

 

La struttura SEARCH_ITEM_CHANGE identifica il tipo di modifica che si è verificato, nonché l'URL corrente dell'elemento e l'URL precedente, se applicabile. La struttura è definita come segue:

Nome proprietà Tipo di proprietà Descrizione
Modifica SEARCH_KIND_OF_CHANGE Tipo di modifica che viene notificata.
URL LPWSTR URL dell'oggetto modificato.
OldURL LPWSTR Se la notifica è uno spostamento, l'URL precedente viene fornito e deve essere univoco.
Priorità SEARCH_NOTIFICATION_PRIORITY Priorità della modifica.

 

L'enumerazione SEARCH_KIND_OF_CHANGE è definita come segue:

Valore enum Valore Descrizione
SEARCH_CHANGE_ADD 0 La notifica è per un URL aggiuntivo.
SEARCH_CHANGE_DELETE 1 La notifica è per l'eliminazione di un URL.
SEARCH_CHANGE_MODIFY 2 La notifica è che è stato modificato un URL.
SEARCH_CHANGE_MOVE_RENAME 3 La notifica è per lo spostamento e la ridenominazione di un oggetto in un nuovo URL.
SEARCH_CHANGE_SEMANTICS_DIRECTORY 0x10000 La notifica è per un URL del contenitore.
SEARCH_CHANGE_SEMANTICS_SHALLOW 0x20000 La notifica è per un URL del contenitore che deve avere solo le proprietà del contenitore indicizzate.
SEARCH_CHANGE_SEMANTICS_SECURITY 0x40000 La notifica è per un URL o un URL contenitore con proprietà di sicurezza modificate.

 

L'enumerazione SEARCH_NOTIFICATION_PRIORITY è definita come segue:

Valore enum Valore Descrizione
SEARCH_NORMAL_PRIORITY 0 È consigliabile usare solo una priorità normale durante l'indicizzazione dell'URL. Queste notifiche vengono elaborate prima dell'indicizzazione incrementale normale in background dei file e degli archivi di un utente.