La ricerca di Outlook non funziona


La ricerca di Outlook è una delle funzioni più critiche e delicate della gestione della posta elettronica.

Sia che Outlook sia installato stand alone che in una infrastruttura con il mailserver Exchange, può succedere che, facendo una ricerca delle email, non tutte le email interessate, vengano incluse nei risultati della query.

Un tipico esempio lo si può avere quando, facendo una ricerca nelle email, i risultati mostrati sono solo quelli antecedenti ad una certa data.

Strano vero ? Outlook cerca nell’indice del database o nel suo indice locale, e se tali indici sono corrotti il risultato non è mai quello corretto. Per fare un esempio terra terra, è come se in un libro venisse strappato tutto o in parte il sommario.

Nel caso Outlook sia installato come client di posta stand alone,  per ricostruire gli indici è sufficiente andare in pannello di controllo e cercare “opzioni di indicizzazione” o voce similare (dipende dalla versione di windows che state usando.

Outlook ricostruzione indici

Una volta eseguita la piccola consolle possiamo, dopo avere selezionato “indice di Microsoft Outlook”, accedere alle funzioni avanzate cliccando sull’apposito pulsante.

Outlook opzioni indicizzazione

A questo punto basta cliccare sul pulsante relativo alla ricostruzione dell’indice ed attendere con pazienza che l’operazione vada a termine.

Nel caso Outlook sia installato in una infrastruttura con Microsoft Exchange, dopo avere verificato di riscontrare gli stessi problemi anche accedendo tramite l’interfaccia web di Microsoft Exchange (OWA), possiamo aprire una sessione powershell (in modalità amministratore) e tramite il comando get-mailboxdatabase possiamo avere conferma che il l’indice relativo al nostro database è corrotto e non funzionante.

Database corrotto

Adesso, per procedere con la riparazione dobbiamo conoscere dove il nostro database, e il relativo indice, sono  memorizzati. Per fare questo possiamo accedere alla consolle di amministrazione grafica e vedere le proprietà del nostro database oppure, visto che abbiamo già aperto una sessione powershell, possiamo eseguire  il comando:

path del database

Andiamo quindi nel menù dei servizi di Windows, accessibile da “strumenti di amministrazione” o eseguendo il comando services.msc  e arrestiamo i servizi:

  • Ricerca di Microsoft Exchange
  • Microsoft Exchange Search Host Controller

Sfogliando il disco accediamo al percorso e provvediamo a cancellare  la cartella contenente l’indice del database (la cartella è caratterizzata dall’essere identificata dal GUID)

Indice del database

Una volta cancellata la cartella riavviamo i due servizi  interrotti in precedenza e, dopo qualche istante, eseguendo il comando powershell get-mailbixdatabase noteremo che lo stato dell’indice è passato allo stato di crawling (cioè in ricostruzione). Finalmente dopo un tempo dipendente dalla grandezza del nostro archivio (può impiegare anche diverse ore, ma nel frattempo possimao tranquillamente lavorare) il nostro indice sarà tornato ad essere integro e funzionante.

Database riparato

Facile vero ? ….insomma….

Se avete bisogno di altre informazioni, o siete alla ricerca di un consulente informatico o di un tecnico informatico sistemista, non esitate a contattermi ai recapiti presenti sul sito