Требования к форматированию URL-адресов

В Windows 7 в обработке и анализе URL-адресов сохраняются несоответствия. В этом разделе содержится ограниченное руководство по навигации по несоответствиям в форматах URL-адресов файлов.

Этот раздел организован следующим образом:

Используемые форматы URL-адресов

Сторонние протоколы отвечают за определение формата URL-адреса и определение запросов способом, соответствующим их стандарту. Например, Microsoft Outlook поддерживает имена папок с произвольными символами, включая недопустимые в URL-адресах, таких как "?" символ. Обработчик протокола MAPI выполняет собственную кодировку URL-адресов своих URL-адресов. Следовательно, индекс хранит "%3F" вместо "?" , и Outlook должен учитывать это при создании запросов.

Различные форматы перечислены в следующей таблице, и каждому из них назначается идентификатор буквы для ссылки на них далее в этом разделе.

ID URL-адрес локального или удаленного файла Пример
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\

 

Направление косой черты, следовая звездочка и чувствительность косой черты

В Windows Search в основном отсутствует чувствительность к направлению косой черты. Если формат c:\test\example принимается, то также принимается c:/test/example. Однако, хотя scope обычно не учитывает направление косой черты, она чувствительна к направлению косой черты в случае удаленный URL-адрес формате F. Следовательно, Scope = '//server/share' не работает.

Единственный API, чувствительный к конечным звездам и различающий c:\test\ и c:\test\* , — это ISearchCrawlScopeManager. Если для существует правило c:\test\*исключения , сам каталог URL-адресов c:\test по-прежнему будет индексироваться. Но если URL-адрес исключения — c:\test\, каталог URL-адресов c:\test не будет индексирован.

Есть два места, в которых Windows Search чувствительна к конечным косой черте: Запросы ItemUrl и Path. Если есть каталог c:\test, Windows Search обрабатывается c:\test\ иначе, чем c:\test для предикатов, таких как path = 'c:\test' и System.ItemUrl = 'c:\test'. Например, предикат path='file:c:/test' будет соответствовать каталогу c:\test, но path='file:c:/test/' не будет из-за косой черты в конце.

Форматы URL-адресов по API и запросу

Форматы URL-адресов локальных файлов, принимаемые выбранными API и запросами, перечислены в следующей таблице. Форматы связаны с буквой (от A до F), значение которой было обозначено в разделе "Используемые форматы URL-адресов" ранее в этом разделе.

API или запрос Формат A Формат B Формат C
ISearchCrawlScopeManager Да N Да
IGatherNotifyInline::OnDataChange Да Да Да
ISearchCatalogManager::ReindexMatchingURLs Да Да Да
ISearchCatalogManager::ReindexSearchRoot Да N Нет
ISearchCatalogManager2::P rioritizeMatchingURLs Да Да Да
Scope= Нет Да Да
Directory= N Да Да
ItemUrl= N Да Да
Путь= N Да Да

 

Форматы URL-адресов удаленных файлов, принимаемые выбранными запросами, перечислены в следующей таблице.

Запрос Формат D Формат E Формат F
ISearchCrawlScopeManager Н/Д Н/Д Н/Д
IGatherNotifyInline::OnDataChange Н/Д Н/Д Н/Д
ISearchCatalogManager::ReindexMatchingURLs Н/Д Н/Д Н/Д
ISearchCatalogManager::ReindexSearchRoot Н/Д Н/Д Н/Д
ISearchCatalogManager2::P rioritizeMatchingURLs Н/Д Н/Д Н/Д
Scope= Да Да Да
Directory= Да Да Да
ItemUrl= Да Да Да
Путь= Да Да Да

 

Что входит в индекс

Процесс индексирования в Windows Search

Процесс запросов в Windows Search

Процесс уведомлений в Windows Search