Condividi tramite


Requisiti di formattazione URL

A partire da Windows 7, le incoerenze rimangono nella gestione e nell'analisi degli URL. In questo argomento viene fornita una guida limitata all'esplorazione delle incoerenze nei formati di URL di file.

Questo argomento è organizzato come segue:

Formati URL in uso

I protocolli di terze parti sono responsabili della definizione del formato url e della definizione delle query in modo conforme allo standard. Ad esempio, Microsoft Outlook supporta i nomi di cartelle con caratteri arbitrari, inclusi quelli non validi negli URL, ad esempio il carattere "?". Il gestore del protocollo MAPI esegue la propria codifica URL degli URL. Di conseguenza, l'indice archivia "%3F" anziché "?" e Outlook deve prendere in considerazione questo aspetto durante la creazione di query.

I diversi formati sono elencati nella tabella seguente e a ognuno viene assegnato un identificatore di lettera per fare riferimento a essi più avanti in questo argomento.

Identificativo URL del file locale o remoto Esempio
Un Locale file:///c:\test\example\
B Locale file:c:/test/example/
C Locale c:\test\example\
D Remoto file:///\\server\share\
E Remoto file://server/share/
F Remoto \\server\share\

 

Direzione slash, Asterisco finale e Sensibilità slash finale

In Windows Search non esiste in gran parte alcuna sensibilità alla direzione della barra. Se il formato c:\test\example viene accettato, viene accettato anche c:/test/example. Tuttavia, anche se SCOPE è in genere non sensibile alla direzione della barra, è sensibile alla direzione della barra in caso di formato URL remoto F. Di conseguenza, Scope = '//server/share' non funziona.

L'unica API sensibile agli asterischi finali e che distingue tra c:\test\ e c:\test\* è ISearchCrawlScopeManager. Se è presente una regola di esclusione per c:\test\*, la directory URL c:\test stessa verrà comunque indicizzata. Tuttavia, se l'URL di esclusione è c:\test\, la directory URL c:\test non verrà indicizzata.

Esistono due posizioni in cui Windows Search è sensibile alle barre slash finali: ItemUrl e Path query. Se è presente una directory c:\test, Windows Search considera c:\test\ in modo diverso da c:\test per predicati come path = 'c:\test' e System.ItemUrl = 'c:\test'. Ad esempio, il predicato path='file:c:/test' corrisponderebbe alla directory c:\test, ma path='file:c:/test/' non corrisponderebbe a causa della barra finale.

Formati degli URL per API e query

Nella tabella seguente sono elencati i formati di URL di file locali accettati dalle API e dalle query selezionate. I formati sono associati a una lettera (da A a F), il cui significato è stato indicato nella sezione "FORMATI URL in Uso" in precedenza in questo argomento.

API o query Formato A Formato B Formato C
ISearchCrawlScopeManager Y N Y
IGatherNotifyInline::OnDataChange Y Y Y
ISearchCatalogManager::ReindexMatchingURLs Y Y Y
ISearchCatalogManager::ReindexSearchRoot Y N N
ISearchCatalogManager2::PrioritizeMatchingURLs Y Y Y
Ambito= N Y Y
Directory= N Y Y
ItemUrl= N Y Y
Percorso= N Y Y

 

Nella tabella seguente sono elencati i formati di URL di file remoti accettati dalle query selezionate.

Quesito Formato D Formato E Formato F
ISearchCrawlScopeManager N/D N/D N/D
IGatherNotifyInline::OnDataChange N/D N/D Non applicabile
ISearchCatalogManager::ReindexMatchingURLs N/D N/D N/D
ISearchCatalogManager::ReindexSearchRoot N/D Non Disponibile N/D
ISearchCatalogManager2::PrioritizeMatchingURLs N/D N/D N/D
Ambito= Y Y Y
Directory= Y Y Y
ItemUrl= Y Y Y
Percorso= Y Y Y

 

Cosa è incluso nell'indice

processo di indicizzazione in Windows Search

Processo di Query in Windows Search

Processo di notifiche in Windows Search