URL の書式設定の要件
Windows 7 の時点では、URL の処理と解析に不整合が残っています。 このトピックでは、ファイル URL 形式の不整合をナビゲートするための制限付きガイドを提供します。
このトピックは次のように整理されています。
使用中の URL 形式
サードパーティのプロトコルは、URL 形式を定義し、標準に準拠した方法でクエリを定義する役割を担います。 たとえば、Microsoft Outlook では、任意の文字を持つフォルダー名 (文字などの URL で無効なものも含む) が "?"
サポートされています。 MAPI プロトコル ハンドラーは、その URL の独自の URL エンコードを行います。 そのため、インデックスには ではなく が格納 "%3F"
され、クエリの "?"
作成時に Outlook はこれを考慮する必要があります。
さまざまな形式を次の表に示し、このトピックの後半で参照するための文字識別子が割り当てられます。
id | ローカル ファイル URL またはリモート | 例 |
---|---|---|
A | ローカル | file:///c:\test\example\ |
B | ローカル | file:c:/test/example/ |
C | ローカル | 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 は一般にスラッシュ方向に対して区別されませんが、F 形式の場合はスラッシュ方向リモート URL区別されます。したがって、Scope = '//server/share'
機能しません。
末尾の星に敏感で、 と c:\test\*
を区別する唯一の c:\test\
API は ISearchCrawlScopeManager です。 の c:\test\*
除外規則がある場合でも、URL ディレクトリ c:\test
自体にインデックスが作成されます。 ただし、除外 URL が の場合、 c:\test\
URL ディレクトリ c:\test
自体にインデックスは作成されません。
Windows Search には、末尾のスラッシュに対して機密性の高い ItemUrl クエリと Path クエリの 2 つの場所があります。 ディレクトリc:\test
がある場合、Windows Search は、 や System.ItemUrl = 'c:\test'
などのpath = 'c:\test'
述語とは異なるc:\test
方法で処理c:\test\
されます。 たとえば、述語 path='file:c:/test'
はディレクトリ c:\test
と一致しますが path='file:c:/test/'
、末尾のスラッシュが原因で一致しません。
API とクエリ別の URL 形式
選択した API とクエリで受け入れられるローカル ファイル URL 形式を次の表に示します。 形式は文字 (A から F) に関連付けられています。この意味は、このトピックの前半の「使用する URL 形式」セクションで示されています。
API またはクエリ | A の書式を設定する | 形式 B | C の形式 |
---|---|---|---|
ISearchCrawlScopeManager | Y | N | Y |
IGatherNotifyInline::OnDataChange | Y | Y | Y |
ISearchCatalogManager::ReindexMatchingURLs | Y | Y | Y |
ISearchCatalogManager::ReindexSearchRoot | Y | N | × |
ISearchCatalogManager2::P rioritizeMatchingURLs | Y | Y | Y |
Scope= | × | Y | Y |
Directory= | × | Y | Y |
ItemUrl= | N | Y | Y |
Path= | × | Y | Y |
選択したクエリで受け入れられるリモート ファイル URL 形式を次の表に示します。
クエリ | D の形式 | 形式 E | F 形式 |
---|---|---|---|
ISearchCrawlScopeManager | 該当なし | 該当なし | 該当なし |
IGatherNotifyInline::OnDataChange | 該当なし | 該当なし | 該当なし |
ISearchCatalogManager::ReindexMatchingURLs | 該当なし | 該当なし | 該当なし |
ISearchCatalogManager::ReindexSearchRoot | 該当なし | 該当なし | 該当なし |
ISearchCatalogManager2::P rioritizeMatchingURLs | 該当なし | 該当なし | 該当なし |
Scope= | Y | Y | Y |
Directory= | Y | Y | Y |
ItemUrl= | Y | Y | Y |
Path= | Y | Y | Y |
関連トピック