エンタープライズ検索のクエリ Web サービスの概要

Microsoft Office SharePoint Server 2007 でのエンタープライズ検索 の検索機能は XML Web サービスを介して提供されます。これにより、SharePoint サイトのコンテンツ以外のクライアント アプリケーションや Web アプリケーションから エンタープライズ検索 の結果にアクセスできます。

クエリ Web サービスにアクセスする

エンタープライズ検索Query Web サービスおよびそのメソッドにアクセするには、次の Web 参照を設定します。

https://Server_Name/[sites/][Site_Name/]_vti_bin/search.asmx

注意

Microsoft Visual Studio 2005 で Web 参照を設定する手順については、「[方法] Visual Studio 2005 でエンタープライズ検索クエリ Web サービスの Web サービス プロキシ クラスを作成する」を参照してください。

Windows SharePoint Services での検索 でも、検索機能を提供するための Query Web サービスを備えており、エンタープライズ検索Query Web サービスと同じ Web メソッドがサポートされますが、Windows SharePoint Services での検索 の結果を返し、範囲はその対象のサイトまたはリストに設定されます。Windows SharePoint Services での検索Query Web サービスは次の場所にあります。

https://Server_Name/[sites/][Site_Name/]_vti_bin/spsearch.asmx

詳細については、Windows SharePoint Services 3.0 SDK の「Windows SharePoint Services クエリ Web サービス」を参照してください。

Web メソッド

次の表に、Query Web サービスで使用できる Web メソッドを示します。

名前

説明

GetPortalSearchInfo

範囲のリストを返します。

GetSearchMetadata

管理プロパティと範囲のリストを返します。

Query()

指定されたクエリの結果セットを XML 文字列で返します。

QueryEx()

指定されたクエリの結果セットを Microsoft ADO.NET DataSet オブジェクトで返します。

Registration()

指定されたサイトの名前を返します。

Status

検索サービスの利用可能性を返します。

クエリ メソッド

Query Web サービスには、エンタープライズ検索 の結果を取得するための Query および QueryEx という 2 つのメソッドが含まれています。

どちらのメソッドも同じ入力 (検索クエリ パラメータを指定する XML を含む文字列) を受け入れますが、返される結果の形式が異なります。QueryEx メソッドは検索結果を System.Data.DataSet オブジェクトで返し、Query メソッドは検索結果を XML.文字列で返します。詳細については、「検索結果を返す」を参照してください。

クエリ Web サービス メソッドを選択する

関連、特殊な用語、一致精度の高い結果など、複数の種類の検索結果が返されるようにするには、QueryEx メソッドを使用する必要があります。

検索クエリの XML を構築する

検索クエリの XML 形式は、エンタープライズ検索用 Microsoft.Search.Query スキーマ スキーマで定義されます。

実際の検索クエリは、エンタープライズ検索用の Microsoft.Search.Query スキーマの QueryText 要素 要素で指定されます。検索クエリを構築するには、エンタープライズ検索の SQL 構文のリファレンス 構文かエンタープライズ検索のキーワード構文の参照構文のどちらかを使用します。QueryText 要素の type 属性で、使用する構文を指定します。

次のコード例は、SQL 構文を使用して検索クエリを指定する QueryText 要素のサンプル XML です。

<QueryText language=xml:lang type='MSSQLFT'>
SELECT Title, Path, Description, Write, Rank, Size FROM Scope() WHERE CONTAINS(Description,'SharePoint')
</QueryText>

注意

Query メソッドで SQL 構文を使用する場合は、SQL クエリの SELECT ステートメントに、Title、Path、Description、Write、Rank、および Size の各プロパティを指定する必要があります。

次のコード例は、キーワード構文を使用して検索クエリを指定する QueryText 要素のサンプル XML です。

<QueryText language=xml:lang type='STRING'>
SharePoint
</QueryText>

エンタープライズ検索用の Microsoft.Search.Query スキーマ内の Property 要素 要素を使用して、キーワード クエリで返すプロパティを指定できます。

クエリ XML でプロパティを何も指定しなかった場合、エンタープライズ検索 により既定のプロパティ セットが返されます。

Query メソッドで返される既定のプロパティ セットは次のとおりです。

  • Title

  • Description

  • Date

  • Relevance

QueryEx メソッドで返される既定のプロパティ セットは次のとおりです。

  • WorkId

  • Rank

  • Title

  • Author

  • Size

  • Path

  • Description

  • Write

  • SiteName

  • CollapsingStatus

  • HitHighlightedSummary

  • HitHighlightedProperties

  • ContentClass

  • IsDocument

  • PictureThumbnailURL

検索結果を返す

QueryEx メソッドは、検索結果を System.Data.DataSet オブジェクトで返します。DataSet オブジェクトには、返される検索結果の種類ごとに System.DataSet.DataTable オブジェクトが格納されます。返すことができる検索結果の種類は次のとおりです。

  • 関連結果 (RelevantResults という名前のテーブル)

  • 一致精度の高い結果 (HighConfidenceResults という名前のテーブル)

  • 特殊な用語の結果 (SpecialTermsResults という名前のテーブル)

Query メソッドは、検索結果を XML 文字列で返します。XML の形式は、エンタープライズ検索用の Microsoft.Search.Response スキーマ スキーマおよび エンタープライズ検索用の Microsoft.Search.Response.Document スキーマ スキーマで定義されます。検索結果の完全なセットは Microsoft.Search.Response スキーマの エンタープライズ検索用の Microsoft.Search.Response スキーマ内の Results 要素 要素に格納され、個々の結果は Microsoft.Search.Response.Document スキーマの エンタープライズ検索の Microsoft.Search.Response.Document スキーマにおけるドキュメント要素 要素で示されます。

注意

Query メソッドでサポートされる検索結果の種類は関連結果だけです。

このセクションの内容

[方法] Visual Studio 2005 でエンタープライズ検索クエリ Web サービスの Web サービス プロキシ クラスを作成する

[方法] クライアント アプリケーションからエンタープライズ検索にキーワード クエリを送信する

リファレンス

QueryService

エンタープライズ検索用の Microsoft.Search スキーマ リファレンス

エンタープライズ検索の SQL 構文のリファレンス

エンタープライズ検索のキーワード構文の参照

関連するセクション

メタデータを管理する

検索範囲を使用する

エンタープライズ検索クエリを作成する

See Also

その他のリソース

Windows SharePoint Services クエリ Web サービス