FAST 検索クエリ統合の概要

Microsoft SharePoint Server 2010 の 2 つのエンタープライズ検索オプションである Microsoft FAST Search Server 2010 for SharePoint と Microsoft SharePoint Server 2010 Search は、共通のプラットフォームを共有して、検索ソリューションの開発者が同じクエリ側インターフェイスを使用できるように設計されています。

最終更新日: 2011年9月1日

適用対象: SharePoint Server 2010

この記事の内容
FAST Search の拡張機能
Query Web サービスの使用
クエリ オブジェクト モデルの使用
サポートされているクエリ言語
検索範囲を使用した検索結果の制限

開発者は、同じオブジェクト モデル、サービス、および共通のクエリ言語を活用できます。新しい API またはプログラミング モデルを習得する必要はありません。

ここでは、FAST Search Server 2010 for SharePoint に対してクエリを実行するときにのみ当てはまる機能と注意事項について次に説明します。

SharePoint Server 2010 クエリ統合フレームワークの一般的な概要については、「エンタープライズ検索クエリのアーキテクチャ」を参照してください。

適用先: Microsoft FAST Search Server 2010 for SharePoint

FAST Search の拡張機能

FAST Search Server 2010 for SharePoint には、次に示すように、オブジェクト モデルと Query Web サービスによって使用できる多数の拡張機能が用意されています。

検索を利用したソリューションとアプリケーションの開発者は、FAST Search Server 2010 for SharePoint と SharePoint Server Search の両方に共通のプラットフォームと共通の API を利用できます。つまり、両方の検索エンジンをサポートするアプリケーションを構築できます。結果の完全なセットを洞察するための動的ランク付け、並べ替えの式、詳細な絞り込み条件など、FAST Search Server 2010 for SharePoint で使用できるより高度な機能を利用する必要がある場合は、アプリケーションを拡張できます。

Query Web サービスの使用

Query Web サービスには、「Query Web サービスの使用」で指定された方法でアクセスします。Query Web サービスにアクセスするには、2 つのメソッドがあります。

  • QueryEx メソッドは、指定されたクエリの DataSet オブジェクトで一連の結果を返します。これは FAST Search Server 2010 for SharePoint で推奨のクエリのメソッドであり、すべてのクエリ機能を使用できます。

  • Query メソッドは、指定されたクエリに対して検索結果セットを含む XML 文字列を返します。これは、FAST Search Server 2010 for SharePoint に対する基本的なクエリもサポートするレガシー メソッドです。FAST Search Server 2010 for SharePoint の高度な機能を使用するには、代わりに QueryEx メソッドを使用する必要があります。

表 1 では、FAST Search Server 2010 for SharePoint と SharePoint Server Search で異なる動作をする、もっとも重要な Query Web サービス スキーマ要素のリストを示します。

注意

Microsoft.Search.Query スキーマの ResultProvider 要素」の結果プロバイダーとして FASTSearch を指定したときに、表 1 の情報が適用されます。人の検索クエリで、たとえ SharePoint Server 2010 エンタープライズ検索オプションとして FAST Search Server 2010 for SharePoint を使用する場合でも、結果プロバイダーとして SharePointSearch を指定します。クエリ Search サービス アプリケーション (SSA) は、人の検索クエリを処理し、SharePoint Server Search と同じクエリ オプションをサポートします。

表 1. FAST Search Server 2010 for SharePoint および SharePoint Server 検索の異なる動作をする Query Web サービス スキーマ要素

スキーマ要素

説明

QueryText

FAST Search Server 2010 for SharePoint で、追加のクエリの種類 FQL を指定することができます。

SortByProperties

FAST Search Server 2010 for SharePoint で、追加の並べ替えとランキング オプションを指定することができます。詳細については、「ランク付けと並べ替え (FAST Search Server 2010 for SharePoint)」を参照してください。

RelevanceModel

この要素は FAST Search Server 2010 for SharePoint のコンテキストでは使用されません。その代わりに、「SortByProperties 要素」の一部としてランキング プロファイルを指定します。ランク計算をクエリに組み込むこともできます。

詳細については、「ランク付けと並べ替え (FAST Search Server 2010 for SharePoint)」を参照してください。

TrimDuplicates

FAST Search Server 2010 for SharePoint で、追加の重複削除のオプションを指定することができます。詳細については、「重複の削除 (FAST Search Server 2010 for SharePoint)」を参照してください。

IgnoreAllNoiseQuery

この要素は FAST Search Server 2010 for SharePoint では適用されず、無視されます。

IncludeHighConfidenceResults

この要素は FAST Search Server 2010 for SharePoint では適用されず、無視されます。

HighlightQuerySuggestions

この要素は FAST Search Server 2010 for SharePoint では適用されず、無視されます。

CapitalizeFirstLetters

この要素は FAST Search Server 2010 for SharePoint では適用されず、無視されます。

EnableSpellcheck

FAST Search Server 2010 for SharePoint で、クエリでのスペルの修正と修正候補の提案を処理する方法を指定することができます。詳細については、「言語的クエリ機能 (FAST Search Server 2010 for SharePoint)」を参照してください。

ResubmitFlags

FAST Search Server 2010 for SharePoint で、結果が 0 個のクエリを処理する方法を指定することができます。この要素を使用することにより、追加のクエリ機能を有効にしたクエリを自動的に再提出するように指定することができます。

UserContext

FAST Search Server 2010 for SharePoint で、検索設定に関連するユーザー コンテキスト データを指定することができます (おすすめコンテンツ、視覚的おすすめコンテンツ、およびキーワードの昇格)。詳細については、「キーワード管理 (FAST Search Server 2010 for SharePoint)」を参照してください。

FindSimilar

FAST Search Server 2010 for SharePoint で、すでに取得した結果に似ている結果を検索することができます。詳細については、「類似の検索 (FAST Search Server 2010 for SharePoint)」を参照してください。

IncludeRefinementResults

FAST Search Server 2010 for SharePoint で、クエリ結果でクエリ絞り込み情報を返す方法を制御することができます。詳細については、「クエリ絞り込み (FAST Search Server 2010 for SharePoint)」を参照してください。

RefinementFilters

FAST Search Server 2010 for SharePoint で、以前のクエリで返されたデータから、RefinementToken 文字列を追加することで、特定のクエリ絞り込みアグリゲーションを要求することができます。詳細については、「クエリ絞り込み (FAST Search Server 2010 for SharePoint)」を参照してください。

クエリ オブジェクト モデルの使用

オブジェクト モデルには、「エンタープライズ検索クエリのアーキテクチャ」で指定された方法でアクセスします。

クエリ オブジェクト モデルを使用している場合は、KeywordQuery クラスの QueryText プロパティを使用してクエリ文字列を指定します。既定のクエリの種類は、キーワード クエリ構文です。クエリ言語として FAST クエリ言語 (FQL) を有効にするには、EnableFQL プロパティを設定します。

サポートされているクエリ言語

FAST Search Server 2010 for SharePoint では、Microsoft SharePoint Server 2010 のキーワード クエリ構文をサポートしていますが、FullTextSQL クエリ構文はサポートしていません。FQL を使用して複雑なクエリを定義できます。

キーワード構文クエリ言語

キーワード クエリ構文は、FAST Search Server 2010 for SharePoint と SharePoint Server Search に共通のクエリ言語です。

検索ボックスでユーザーによって追加されるクエリ テキストのコンテナーとしてキーワード クエリ構文を使用することをお勧めします。

すべての管理プロパティでプロパティ フィルターを使用できます。ただし、検索範囲機能を使用して複数のクエリに適用されるプロパティ フィルターを指定する方が役に立つ場合があります。

FAST Search Server 2010 for SharePoint と SharePoint Server Search の両方で使用することを目的としたアプリケーションを作成している場合は、キーワード クエリ構文を使用する必要があります。

FAST クエリ言語 (FQL)

FQL は、プログラムによるクエリの作成を目的としたクエリ言語です。エンド ユーザーに表示することを目的としていない構造化言語です。FQL は、FAST Search Server 2010 for SharePoint 用に開発されたソリューションでのみ使用できます。

FAST Search Server 2010 for SharePoint の一部の機能は、このクエリ言語によってのみ公開されます。たとえば、次のような機能が当てはまります。

  • RANK 演算子あるいは XRANK 演算子を使用したクエリ時のランク付け、クエリ用語の重み付け、およびクエリの部分のランク付けのオンとオフの切り替えに対する詳細な制御。

  • 高度な近接演算子 (順序付きまたは順序なし NEAR 演算子)。

  • ブール演算子の入れ子など、複雑なクエリ演算子の組み合わせ。

詳細については、「FAST クエリ言語 (FQL) 構文のリファレンス」を参照してください。

重要重要

FQL の使用時にクエリ言語として、FAST Search Server 2010 for SharePoint のキーワード管理機能 (昇格、降格など) を使用することはできません。ただし、検索範囲の定義でのみ FQL を使用した場合は、この制限はありません。

FQL を使用できるのは、クエリ オブジェクト モデルと Query XML Web Service を経由して統合する場合だけです。FQL は、SharePoint 検索 Web パーツには表示されません。

FQL では、すべての日付および時刻の表記に UTC 構文が使用されます。これは、日付と時刻の表記がユーザーのタイム ゾーン (ロケールで指定) に関連するキーワード クエリ構文と異なります。

ユーザー クエリの処理方法

ユーザー クエリは、ユーザーによって 1 つのクエリ ボックスに入力される一連のクエリ用語です。ほとんどの場合、ユーザーは、1 つ以上の単語を入力しますが、ユーザー クエリで正符号 ("+")、負符号 ("-") などの特殊文字が使用される場合があります。

ユーザー クエリは、通常、クエリ クライアントによって透過的に渡される文字列として処理されます。

次の 2 つの主な方法で、クエリ クライアントのインターフェイスでユーザー クエリを渡すことができます。

  • ユーザー クエリを、キーワード クエリ構文クエリ文字列として渡します。

    このオプションによって上級ユーザーは、キーワード クエリ構文によって表示される基本クエリ コントロールを使用して、より詳細なクエリを指定できます。

    検索アプリケーションによって追加されるプロパティ フィルターは、クエリ文字列に追加するか、クエリ文字列で検索範囲の式 (scope:scopename) として追加できます。

    このオプションによって、FAST Search Server 2010 for SharePoint と SharePoint Server Search の両方でクエリ アプリケーションを同時に使用できます。(検索アプリケーションに対して透過的にできる) 検索範囲オプションを使用することによって、特定の高度な FAST Search Server 2010 for SharePoint クエリ機能を使用することもできます。

  • ユーザー クエリを FQL クエリ式内で FQL 簡単なクエリ言語の文字列として渡します。エンド ユーザーのクエリ文字列を FQL でカプセル化します。その後、その他のプロパティ フィルターまたはクエリ制約を FQL クエリ式で追加できます。

    重要重要

    FQL Simple Query Language 構文でユーザーに対してサポートされている機能は、キーワード クエリ構文でサポートされている機能よりも少なくなっています。

検索範囲を使用した検索結果の制限

検索範囲は、クエリを制限するために使用できる定義済みのプロパティ フィルター式です。インテグレーターは、特別なプロパティ フィルター scope:scopename を使用してキーワード構文クエリに検索範囲を追加できます。scope は定義済みのプロパティ名で、scopename は定義した検索範囲の名前です。

FAST Search Server 2010 for SharePoint では、生成される検索範囲は、FQL 構文で指定された定義済みプロパティ フィルターを表します。検索範囲は、SharePoint Server の [サイトの管理] UI で指定するか、Windows PowerShell インターフェイスまたは SharePoint Server Search Administration オブジェクト モデルの Scope インターフェイスを使用して指定できます。Windows PowerShell インターフェイスまたは Scope インターフェイスを使用する場合、FQL クエリ構文に従って、範囲フィルターを文字列として指定できます。検索範囲はインデックスまたはインデックス スキーマに影響しません。

注意

FAST Search Server 2010 for SharePoint と では、異なる方法で検索範囲が処理されます。FAST Search Server 2010 for SharePoint では、範囲は純粋にクエリ時の機能として処理されます。

範囲フィルターは、任意の FQL 構文で構成でき、FQL FILTER 演算子で囲まれた FQL 式と等しいです。

検索範囲フィルターで既定以外のフルテキスト インデックスだけを指定する場合は、次のように特別な範囲フィルター構文を使用できます。

FullTextIndex=<name of full-text index>
重要重要

特別なフルテキスト インデックス範囲フィルター構文を使用できるのは、検索範囲フィルターを定義する場合だけです。この構文は有効な FQL 構文ではありません。

関連項目

概念

クエリ絞り込み (FAST Search Server 2010 for SharePoint)

ランク付けと並べ替え (FAST Search Server 2010 for SharePoint)

言語的クエリ機能 (FAST Search Server 2010 for SharePoint)

管理プロパティおよびデータ型 (FAST Search Server 2010 for SharePoint)

キーワード管理 (FAST Search Server 2010 for SharePoint)

類似の検索 (FAST Search Server 2010 for SharePoint)

重複の削除 (FAST Search Server 2010 for SharePoint)

[チュートリアル] クライアント アプリケーションから FAST Search Server にクエリを実行する