Exigences de mise en forme d’URL

À compter de Windows 7, les incohérences restent dans la gestion et l’analyse des URL. Cette rubrique fournit un guide limité pour naviguer dans les incohérences dans les formats d’URL de fichier.

Cette rubrique est organisée comme suit :

Formats d’URL en cours d’utilisation

Les protocoles tiers sont responsables de la définition de leur format d’URL et de la définition de requêtes d’une manière conforme à leur norme. Par exemple, Microsoft Outlook prend en charge les noms de dossiers avec des caractères arbitraires, y compris ceux qui ne sont pas valides dans les URL telles que le "?" caractère. Le gestionnaire de protocole MAPI effectue son propre encodage URL de ses URL. Par conséquent, l'index stocke "%3F" au lieu de "?", et Outlook doit en tenir compte lors de la création de requêtes.

Les différents formats sont répertoriés dans le tableau suivant et reçoivent chacun un identificateur de lettre pour les référencer plus loin dans cette rubrique.

ID URL de fichier local ou distante Example
A Local file:///c:\test\example\
B Local file:c:\test\example\
C Local c:\test\example\
D Remote file:///\\server\share\
E Remote file://server/share/
F Remote \\server\share\

 

Direction du slash, étoile finale et sensibilité du slash final

Dans La recherche Windows, il n’existe en grande partie aucune sensibilité à la direction des barres obliques. Si le format c:\test\example est accepté, c :/test/example est également accepté. Toutefois, bien que SCOPE ne respecte généralement pas la direction des barres obliques, elle est sensible à la direction de la barre oblique dans le cas du format d’URL distante F. Par conséquent, Scope = '//server/share' ne fonctionne pas.

La seule API qui est sensible aux astérisques de fin et qui fait la distinction entre c:\test\ et c:\test\* est ISearchCrawlScopeManager. S’il existe une règle d’exclusion pour c:\test\*, le répertoire c:\test d’URL lui-même est toujours indexé. Toutefois, si l’URL d’exclusion est c:\test\, le répertoire c:\test d’URL lui-même ne sera pas indexé.

Il existe deux endroits où la recherche Windows est sensible aux barres obliques de fin : les requêtes ItemUrl et Path. S'il existe un répertoire c:\test, Windows Search traite c:\test\ différemment de c:\test pour des prédicats tels que path = 'c:\test' et System.ItemUrl = 'c:\test'. Par exemple, le prédicat path='file:c:/test' correspondrait au répertoire c:\test, mais path='file:c:/test/' ne le serait pas, en raison de la barre oblique de fin.

Formats d’URL par API et requête

Les formats d’URL de fichier local acceptés par les API et requêtes sélectionnées sont répertoriés dans le tableau suivant. Les formats sont associés à une lettre (A à F), dont la signification a été indiquée dans la section « Formats d’URL en cours d’utilisation » plus haut dans cette rubrique.

API ou requête Format A Format B Format C
ISearchCrawlScopeManager O N O
IGatherNotifyInline ::OnDataChange O O O
ISearchCatalogManager ::ReindexMatchingURLs O O O
ISearchCatalogManager ::ReindexSearchRoot O N N
ISearchCatalogManager2::PrioritizeMatchingURLs O O O
Portée= N O O
Répertoire= N O O
ItemUrl= N O O
Chemin= N O O

 

Les formats d’URL de fichier distant acceptés par les requêtes sélectionnées sont répertoriés dans le tableau suivant.

Query Format D Format E Format F
ISearchCrawlScopeManager N/A N/A N/A
IGatherNotifyInline ::OnDataChange N/A N/A N/A
ISearchCatalogManager ::ReindexMatchingURLs N/A N/A N/A
ISearchCatalogManager ::ReindexSearchRoot N/A N/A N/A
ISearchCatalogManager2::PrioritizeMatchingURLs N/A N/A N/A
Portée= O O O
Répertoire= O O O
ItemUrl= O O O
Chemin= O O O

 

Éléments inclus dans l’index

Processus d’indexation dans Windows Search

Processus d’interrogation dans Windows Search

Processus de notifications dans Windows Search