Vereisten voor URL-opmaak

Vanaf Windows 7 blijven inconsistenties behouden in de verwerking en parsering van URL's. Dit onderwerp bevat een beperkte handleiding voor het navigeren door inconsistenties in URL-indelingen van bestanden.

Dit onderwerp is als volgt ingedeeld:

URL-indelingen in gebruik

Protocollen van derden zijn verantwoordelijk voor het definiëren van hun URL-indeling en het definiëren van query's op een manier die voldoet aan hun standaard. Microsoft Outlook ondersteunt bijvoorbeeld mapnamen met willekeurige tekens, inclusief namen die ongeldig zijn in URL's zoals het "?" teken. De MAPI-protocolhandler voert een eigen URL-codering van de URL's uit. De index slaat daarom "%3F" op in plaats van "?", en Outlook moet rekening houden met dit bij het maken van query's.

De verschillende indelingen worden vermeld in de volgende tabel en krijgen elk een letter-id toegewezen om ernaar te verwijzen verderop in dit onderwerp.

ID URL van lokaal bestand of een externe bron Voorbeeld
Een Lokaal file:///c:\test\example\
B Lokaal file:c:/test/example/
C Lokaal c:\test\example\
D Afgelegen file:///\\server\share\
E Afgelegen file://server/share/
F Afgelegen \\server\share\

 

Slash-richting, volgsterretje en gevoeligheid voor vervolgslash

In Windows Search is er grotendeels geen gevoeligheid voor schuine streeprichting. Als de indeling c:\test\example wordt geaccepteerd, wordt c:/test/voorbeeld ook geaccepteerd. Hoewel SCOPE over het algemeen niet gevoelig is voor slash-richting, is het echter gevoelig voor de slash-richting in het geval van externe URL-indeling F. Daarom werkt Scope = '//server/share' niet.

De enige API die gevoelig is voor volgsterren en onderscheid maakt tussen c:\test\ en c:\test\* is ISearchCrawlScopeManager. Als er een uitsluitingsregel voor c:\test\*is, wordt de URL-map c:\test zelf nog steeds geïndexeerd. Maar als de uitsluitings-URL c:\test\is, wordt de URL-map c:\test zelf niet geïndexeerd.

Er zijn twee plaatsen waar Windows Search gevoelig is voor afsluitende schuine strepen: de ItemUrl- en Pad-query's. Als er een map c:\testis, behandelt Windows Search c:\test\ anders dan c:\test voor predicaten zoals path = 'c:\test' en System.ItemUrl = 'c:\test'. Het predicaat path='file:c:/test' komt bijvoorbeeld overeen met de map c:\test, maar path='file:c:/test/' niet, vanwege de afsluitende slash.

URL-indelingen per API en query

Lokale bestands-URL-indelingen die worden geaccepteerd door geselecteerde API's en query's, worden weergegeven in de volgende tabel. De indelingen zijn gekoppeld aan een letter (A tot en met F), en de betekenis hiervan wordt uitgelegd in de sectie 'URL-indelingen in gebruik' eerder in dit onderwerp.

API of query Een indeling maken Formaat B Format 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
Bereik= N Y Y
Directory= N Y Y
ItemUrl= N Y Y
Pad= N Y Y

 

Externe bestands-URL-indelingen die door geselecteerde query's worden geaccepteerd, worden weergegeven in de volgende tabel.

Vraag Indeling D Formaat E Formaat F
ISearchCrawlScopeManager N.V.T. N.V.T. N.V.T.
IGatherNotifyInline::OnDataChange N.V.T. N.V.T. N.V.T.
ISearchCatalogManager::ReindexMatchingURLs N.V.T. N.V.T. N.V.T.
ISearchCatalogManager::ReindexSearchRoot N.V.T. N.V.T. N.V.T.
ISearchCatalogManager2::PrioritizeMatchingURLs N.V.T. N.V.T. N.V.T.
Bereik= Y Y Y
Directory= Y Y Y
ItemUrl= Y Y Y
Pad= Y Y Y

 

wat is opgenomen in de index

Indexeringsproces in Windows Search

Zoekproces in Windows Search

meldingenproces in Windows Search