Windows 7 搜尋的新功能

本主題列出針對 Windows 7 引進的新檔。 此處未列出的某些檔也包含新的 Windows 7 內容,例如概念性主題,以及現有主題修訂中的新列舉、常數和旗標值。

本主題的組織方式如下:

程式代碼範例

主題 內容
CrawlScopeCommandLine CrawlScopeCommandLine 程式代碼範例示範如何定義編目範圍管理員 (CSM) 索引作業的命令行選項。
DSearch DSearch 程式代碼範例示範如何使用 ISearchQueryHelper的 Microsoft.Search.Interop 元件,建立靜態控制台應用程式的類別以查詢 Windows 搜尋。
IFilterSample IFilterSample 程式代碼範例示範如何建立 IFilter 基類,以實作 IFilter 介面。
OpenSearch OpenSearch 程式代碼範例示範如何使用 OpenSearch 通訊協定,以及 OpenSearch 描述元 (.osdx) 檔案 (搜尋連接器) 建立同盟搜尋服務。
屬性編輯 PropertyEdit 程式代碼範例示範如何將標準屬性名稱轉換成 PROPERTYKEY、將屬性存放區的值設定為專案的值,並將數據寫回檔案數據流。
ReindexMatchingUrls ReindexMatchingUrls 程式代碼範例示範如何提供三種方式來指定要重新編製索引的檔案:符合檔類型、mime 類型或指定 WHERE 子句的 URL。
SearchEvents SearchEvents 程式代碼範例示範如何設定索引事件的優先順序。
StructuredQuerySample StructuredQuerySample 程式代碼範例示範如何從控制台讀取程式代碼行、使用系統架構剖析它們,以及顯示產生的條件樹狀結構。
WSFromScript WSFromScript 程式代碼範例示範如何使用 Microsoft ActiveX Data Objects (ADO) 從Microsoft Visual Basic 腳本查詢 Windows 搜尋。
WSOleDB WSOleDB 程式代碼範例示範 Active Template Library (ATL) OLE DB 對 Windows 搜尋應用程式的存取,並示範兩個從 Windows 搜尋擷取結果的其他方法。
WSSQL WSSQL 程式代碼範例示範如何透過結構化查詢語言在 Microsoft OLE DB 與 Windows 搜尋之間進行通訊。

 

概念概觀

下列區域有 Windows 7 概念性概觀。

主題 內容
Windows 中的同盟搜尋 描述 Windows 7 對遠端資料存放區的搜尋同盟支援,使用 OpenSearch 技術,讓用戶能夠從 Windows 檔案總管存取並與遠端資料互動。
在 Windows 中開始使用聯合搜尋 告訴您如何建置可使用 Windows 同盟搜尋來搜尋的 Web 型數據存放區,並啟用遠端數據源與 Windows 檔案總管的豐富整合,而不需要撰寫或部署任何 Windows 用戶端程式代碼。
在 Windows 同盟搜尋中連線您的 Web 服務 說明在數據存放區與 Windows 同盟搜尋之間連線 Web 服務,以及如何在 RSS 或 Atom 中傳送查詢和傳回搜尋結果的相關步驟。
在 Windows 聯邦搜尋中啟用您的資料存放區 說明如何讓 OpenSearch Web 服務存取您的資料存放區,以及如何避免進行此作業的潛在障礙。
在 Windows 統合搜尋 中建立 OpenSearch 說明檔案 描述如何建立 OpenSearch Description (.osdx) 檔案,以透過 OpenSearch 通訊協定將外部數據存放區連線到 Windows 用戶端。
在 Windows 聯邦搜尋中遵循最佳實務 列出最佳做法,您可以建置可使用 Windows 同盟搜尋來搜尋的 Web 型數據存放區,並將遠端數據源與 Windows 檔案總管整合,而不需要撰寫或部署任何 Windows 用戶端程式代碼。
在 Windows 同盟搜尋 中部署搜尋連接器 說明使用者如何藉由開啟 OpenSearch Description (.osdx) 檔案、如何部署 .osdx 檔案,以及如何追蹤 OpenSearch 服務的使用量,向同盟搜尋註冊新的遠端數據存放區。

 

篩選

主題 內容
開發篩選處理程式 Microsoft Windows 搜尋會使用篩選來擷取要包含在全文檢索索引中的項目內容。 您可以撰寫篩選來擷取內容,以及屬性處理程式來擷取檔案的屬性,藉此擴充 Windows 搜尋以編制新的或專屬檔類型的索引。
關於 Windows 搜尋中的篩選處理程式 篩選處理程式,這是 IFilter 介面的實作,會掃描檔是否有文字和屬性。 篩選處理程式會從這些專案擷取文字區塊、篩選出內嵌格式設定,以及保留文字位置的相關信息。 它們也會擷取值區塊,也就是文件屬性。 IFilter 是建置較高層級應用程式的基礎,例如檔索引器和應用程式獨立查看器。
在 Windows 搜尋服務中建立篩選處理程式的 最佳做法 Microsoft Windows 搜尋會使用篩選來擷取要包含在全文檢索索引中的項目內容。 您可以撰寫篩選處理程式來擷取內容,以及屬性處理程式來擷取檔案的屬性,藉此擴充 Windows 搜尋以編制新的或專屬文件類型的索引。 篩選條件與文件類型相關聯,如擴展名、MIME 類型或類別識別碼 (CLSID) 表示。 雖然一個篩選可以處理多個檔類型,但每個類型只能使用一個篩選。
從篩選處理程式傳回屬性 屬性是使用已註冊的屬性處理程式從項目擷取,或是使用為特定文件類型註冊的篩選器進行擷取。 篩選處理程式(IFilter 介面的實作)可以用任意數目的方式解譯檔類型的內容。
隨附於 Windows 篩選處理程式 Microsoft提供數個具有 Windows 搜尋的標準篩選。 用戶端會呼叫這些篩選處理程式(這是 IFilter 介面的實作),以從檔擷取文字和屬性。
在 Windows 搜尋 中實作篩選處理程式 說明了解篩選處理程式的必要 DLL 結構( IFilter 介面的實作)。
註冊篩選處理程式 您的篩選處理程式必須註冊。 您也可以透過登錄或使用 ILoadFilter 介面,找到指定擴展名的現有篩選處理程式。
測試篩選 IFilter 測試套件會驗證篩選處理程式。

 

索引和查詢索引

主題 內容
Windows 7 中的索引編製優先順序和數據列集事件 Windows 7 引入索引優先排序和行集事件的概要。

 

圖書館

主題 內容
Windows 7 中的連結庫 Windows 7 引入索引優先排序和行集事件的概要。

 

列舉項目

主題 內容
CASE_REQUIREMENT 指定查詢的關鍵詞案例需求,如果有的話。
CONDITION_CREATION_OPTIONS 提供一組旗標,以搭配下列介面來指出條件樹狀節點的類型:IConditionICondition2IConditionFactory、IConditionFactory2IConditionGenerator
CONDITION_OPERATION 提供一組旗標,以搭配下列方法使用,以指出 ICondition::GetComparisonInfo 中的作業, ICondition2::GetLeafConditionInfoIConditionFactory::MakeLeafIConditionFactory2::CreateBooleanLeafIConditionFactory2::CreateIntegerLeaf、IConditionFactory2:: MakeLeafIConditionFactory2::CreateStringLeafIConditionGenerator::GenerateForLeaf
CONDITION_TYPE 提供一組旗標,以搭配下列方法來指出條件樹狀節點的類型:ICondition::GetConditionType、IConditionFactory::MakeAndOr、IConditionFactory2::CreateCompoundFromArray 和 IConditionFactory2::CreateCompoundFromObjectArray
優先等級 IRowsetPrioritization 介面用來設定或擷取查詢所指定範圍的目前索引器優先順序層級。
行事件_項目狀態 描述符合數據列集搜尋準則的專案目前是否在該數據列集中。
ROWSETEVENT_TYPE 描述數據列集數據的變更類型。
STRUCTURED_QUERY_SYNTAX 指定查詢語法的類型。

 

介面

主題 內容
ICondition 提供擷取搜尋條件相關信息的方法。 ICondition 物件代表將輸入字串剖析的結果(使用 IQueryParser::P arseIQuerySolution::GetQuery)等方法剖析為搜尋條件節點的樹狀結構。 節點可以是邏輯 AND、OR 或 NOT 來比較子節點,也可以是比較屬性和常數值的分葉節點。
ICondition2 擴充 ICondition 介面的功能。 ICondition2 提供擷取搜尋條件相關信息的方法。
IConditionFactory2 擴充 IConditionFactory 的功能。 IConditionFactory2 提供方法來建立或解析透過剖析查詢字串取得的條件樹狀結構。
IRichChunk 以字串和 PROPVARIANT 值表示數據區塊。
IRowsetEvents 公開接收事件通知的方法。 在 Windows 7 和更新版本中,索引器事件允許數據提供者在其數據列集上接收通知。 利用編製索引事件的提供者能夠以類似實際文件系統位置的方式維護其數據列集(這類非文件系統位置的範例為連結庫和搜尋)。 索引器事件是連結庫檢視檔案資料夾檢視的檔案系統通知。
必須實作 IRowsetEvents,才能接收下列事件通知:OnChangedItemOnDeletedItemOnNewItemOnRowsetEvent ROWSETEVENT_ITEMSTATEROWSETEVENT_TYPE列舉值分別擷取項目狀態和數據列集事件。
IRowsetPrioritization 設定或擷取此查詢所指定範圍的目前索引器優先順序層級。
ISearchCrawlScopeManager2 擴充 ISearchCrawlScopeManager 介面的功能。 ISearchCrawlScopeManager2 提供方法,可通知搜尋引擎的容器編目和/或監看,以及編目或監看時要包含或排除這些容器下的專案。

 

結構描述元素

主題 內容
搜尋連接器描述架構概觀 介紹 Windows 檔案總管連結庫和同盟搜尋提供者所使用的搜尋連接器描述架構。

 

主題 內容
author Element (Search Connector Schema) 選擇性 <author> 元素會指定此連結庫的作者。 這個項目沒有子專案,也沒有屬性。
dateCreated 元素 (搜尋連接器架構) 選擇性 <dateCreated> 專案會使用 ISO 8601 標準來識別建立此搜尋連接器的日期和時間。 它沒有子專案,也沒有屬性。
scope 元素 (搜尋連接器架構) <深度> 元素會指定搜尋連接器的範圍是否應該包含子 URL。 允許的值是 DeepShallow。 這個項目沒有子專案,也沒有屬性。
description 元素 (搜尋連接器架構) 選擇性 <描述> 專案會指定此搜尋連接器的描述。 這個項目沒有子專案,也沒有屬性。
domain 元素 (搜尋連接器架構) 選擇性 <網域> 專案會指定此搜尋連接器所使用的搜尋服務的 URL。 它會顯示在詳細資料窗格中。 這個項目沒有子專案,也沒有屬性。
folderType 元素 (搜尋連接器架構) <folderType> 元素會指定資料夾類型的 GUID。 如果 <templateInfo> 元素存在,則需要此元素。 它沒有屬性,也沒有子專案。
圖示參考元素 (搜尋連接器架構) 選擇性 <iconReference> 元素會指定這個位置的自定義圖示。 這個項目沒有屬性,也沒有子專案。
imageLink 元素 (搜尋連接器架構) 選擇性 <imageLink> 元素會指定此搜尋連接器的縮圖。 這個專案有一個強制子專案,而且沒有屬性。
imageLink url 元素 (搜尋連接器架構) <url> 元素會指定此搜尋連接器縮圖的 URL。 如果 <imageLink> 存在,則需要這個專案。 它沒有子專案,也沒有屬性。
includeInStartMenuScope 元素 (搜尋連接器架構) 選擇性的 Boolean <includeInStartMenuScope> 元素會指定此搜尋連接器是否應該包含在 [開始] 選單搜尋範圍中。 使用文件系統做為數據源的搜尋連接器預設值為 true,而屬性處理程式所使用的搜尋連接器則為 false。 這個項目沒有子專案,也沒有屬性。
isDefaultNonOwnerSaveLocation 元素 (搜尋連接器架構) 選用的 Boolean <isDefaultNonOwnerSaveLocation> 元素會指定當 Homegroup 中另一部電腦的使用者選擇儲存專案時,是否應該使用搜尋連接器中所述的位置做為預設儲存位置。 這個項目沒有子專案,也沒有屬性。
isDefaultSaveLocation 元素 (搜尋連接器架構) 選擇性的 Boolean <isDefaultSaveLocation> 元素會指定搜尋連接器中所述的位置是否應作為預設儲存位置。 這個項目沒有子專案,也沒有屬性。
isIndexed 元素 (搜尋連接器架構) 選擇性的 Boolean <isIndexed> 元素會指定搜尋連接器描述的位置是否已編製索引(無論是在本機還是遠端使用 Windows 搜尋 4 或更高版本)。 本機資料夾的預設值為 true。 這個項目沒有子專案,也沒有屬性。
isSearchOnlyItem 元素 (搜尋連接器架構) 布爾值 <isSearchOnlyItem> 元素會指定除了搜尋模式之外,搜尋提供者是否支持流覽模式。 這個元素是選擇性項目,沒有子專案,也沒有屬性。
locationProvider 元素 (搜尋連接器架構) 選擇性 <locationProvider> 元素會指定 Web 服務提供者搜尋連接器要使用的搜尋提供者。 此元素包含一個強制屬性和選擇性子專案。
scope 元素 (搜尋連接器架構) <模式> 專案會指定應該包含或排除在搜尋連接器範圍中的 URL。 允許的值是 IncludeExclude。 這個項目沒有子專案,也沒有屬性。
屬性元素 (搜尋連接器架構) 選擇性 <屬性> 專案會指定位置提供者所使用的屬性。 這些屬性是這個位置提供者特有的,因此沒有預先定義的名稱集可供使用。 <屬性> 元素有兩個屬性,如本主題所述。
propertyStore 的 屬性 元素 (搜尋連接器架構) 選擇性 <屬性> 專案會指定搜尋連接器所使用的屬性。 這些屬性專屬於此搜尋連接器,因此沒有預先定義的名稱集可供使用。 這個項目沒有子專案。
propertyBag 元素 (搜尋連接器架構) 必要的 <propertyBag> 元素會指定一組這個位置提供者所使用的一或多個屬性。
propertyStore 元素 (搜尋連接器架構) 選擇性的 <propertyStore> 元素會指定 XML 型 IPropertyStore 的位置,以儲存此搜尋連接器的開啟元數據。 這個項目沒有屬性,而且只有一個子專案。
scope 元素 (搜尋連接器架構) 選擇性 <範圍> 專案會指定 <scopeItem> 元素的集合,這些元素會定義這個特定搜尋連接器的範圍包含和排除專案。 如果 <範圍> 存在,它必須至少包含一個 <scopeItem> 專案。 這個項目沒有屬性。
scopeItem 元素 (搜尋連接器架構) <scopeItem> 專案代表排除/包含範圍數據表中的單一專案。 <scopeItem> 藉由新增三個新元素來控制包含和排除資料夾、控制結果深度,以及指定範圍的位置,來擴充標準 shellLinkType 類型。 如果 <範圍> 專案存在,則需要這個專案。 它有三個子元素,沒有屬性。
scopeItem url 元素 (搜尋連接器架構) <url> 專案會指定代表搜尋連接器範圍的 URL。 這個項目沒有子專案,也沒有屬性。
searchConnectorDescriptionType 元素 (搜尋連接器架構) <searchConnectorDescriptionType> 元素是搜尋連接器定義的最上層容器。
simpleLocation 元素 (搜尋連接器架構) <simpleLocation> 元素會指定文件系統型或通訊協定處理程式型搜尋連接器的位置。 這個專案有兩個子項目,沒有屬性。
simpleLocation url 元素 (搜尋連接器架構) <url> 元素會指定此搜尋連接器位置的 URL。 此值可以是一般 file:// URL,如 RFC 1738 (https://www.ietf.org/rfc/rfc1738.txt) 檔或使用已知資料夾的 URL:通訊協定所定義。 這個項目沒有子專案,也沒有屬性。
支援AdvancedQuerySyntax 元素 (搜尋連接器架構) 布林值 <支援AdvancedQuerySyntax> 元素,指定搜尋提供者是否支援 進階查詢語法。 默認值為 false。 這個元素是選擇性項目,沒有子專案,也沒有屬性。
templateInfo 元素 (搜尋連接器架構) 這個選擇性 <templateInfo> 元素會指定資料夾類型,以顯示此搜尋連接器查詢的結果。 這個項目沒有屬性,而且只有一個強制子系。

 

結構體系

主題 內容
HITRANGE 識別查詢搜尋條件符合索引數據時相符數據的範圍。

 

Windows 7 搜尋

Windows 7 中的索引編製優先順序和數據列集事件

在 Windows 7 中的 Windows Shell 程式庫