共用方式為


從篩選處理程式傳回屬性

屬性是透過已註冊的屬性處理程式從項目中擷取,或透過為特定檔案類型註冊的篩選器進行擷取。 篩選處理程式(IFilter 介面的實作)可以用任意數目的方式解譯檔類型的內容。

本主題的組織方式如下:

屬性篩選

下表列出屬性篩選的最佳做法。

方法 描述
IFilter::Init 傳回 IFILTER_FLAGS 列舉。 如果此列舉的 IFILTER_FLAGS_OLE_PROPERTIES 成員設定為一個,則 Windows 搜尋會使用 IPropertySetStorageIPropertyStorage 介面來列舉和存取外部實值類型屬性。
IFilter::GetChunk 使用區塊類型(文字或值)、名稱和語系,從文件中以「區塊」形式傳回資訊。 區塊包含一個文檔屬性。
IFilter::GetText 從區塊取得文字類型屬性。
IFilter:GetValue 從區塊取得值類型屬性。

下圖顯示範例檔。 外部實值型別屬性 DocTitle(使用 IPropertySetStorageIPropertyStorage 介面的方法取得)和內部實值型別屬性 Book(因為自定義 IFilter 實作而取得)將檔描述為整體。 文字類型屬性 ContentsChapter 描述檔的內容。 處理本檔時,篩選處理程式(IFilter 介面的實作)會識別並擷取這些屬性。

顯示一般檔元素的圖表 圖表

屬性大小限制

屬性大小可能有兩個潛在限制:

  • Windows 搜尋會接受每個檔案的數據大小上限。
  • 屬性描述檔中所定義的每個屬性大小上限。

目前,Windows 搜尋在計算從專案接受的數據量時,不會使用定義的屬性大小。 相反地,Windows 搜尋所使用的限制是檔案大小和從登錄讀取 MaxGrowFactor (檔案大小 N * MaxGrowFactor) 的乘積。 默認值 MaxGrowFactor 為四。

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Gathering Manager
            MaxGrowFactor

因此,如果您的文件類型大小通常很小,但具有較大的屬性,Windows 搜尋可能不接受您想要發出的所有屬性數據。 不過,您可以增加 MaxGrowFactor 以符合您的需求。

其他資源

開發篩選處理程式

關於 Windows 搜尋 中的篩選處理程式

在 Windows 搜尋服務中建立篩選處理程式的 最佳做法

隨附於 Windows 篩選處理程式

在 Windows 搜尋 中實作篩選處理程式

註冊篩選處理程式

測試篩選處理程式