Требования к форматированию URL-адресов
В Windows 7 в обработке и анализе URL-адресов сохраняются несоответствия. В этом разделе содержится ограниченное руководство по навигации по несоответствиям в форматах URL-адресов файлов.
Этот раздел организован следующим образом:
- Используемые форматы URL-адресов
- Направление косой черты, следовая звездочка и чувствительность косой черты
- Форматы URL-адресов по API и запросу
- Связанные темы
Используемые форматы 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= | Да | Да | Да |
Путь= | Да | Да | Да |
Связанные темы