Share via


SharePoint での検索

SharePoint での検索の機能拡張構成要素と、これらの構成要素をユース ケースに合わせて使用する方法について説明します。 SharePoint で検索すると、ユーザーはこれまで以上にすばやく簡単に関連情報を検索でき、検索管理者は検索エクスペリエンスを簡単にカスタマイズできます。 また、より高度なカスタマイズおよびソリューションのための複数の API が用意されています。

SharePoint 開発の一般的な概念の紹介については、次の記事を参照してください。次に進む前に、これらを確認することをお勧めします。

検索アーキテクチャの概要

SharePoint の検索 には、広い範囲にわたる改良点と新機能が搭載されています。 このバージョンでは、単一のエンタープライズ検索プラットフォームとなるように SharePoint の検索 を再構築しました。 検索アーキテクチャは次のエリアから構成されています:

これらのエリアは、検索操作を連携して実行するコンポーネントとデータベースから構成されています。 図 1 は検索アーキテクチャのさまざまなエリアと、検索操作を連携して実行するコンポーネントとデータベースの概要を示しています。

図 1. 検索コンポーネントの相互作用

検索コンポーネントとの相互作用

詳細なビューについては、「 テクニカル ダイアグラム --SharePoint での検索の検索と概要」を参照してください。

クロールとコンテンツの処理

クロールとコンテンツの処理アーキテクチャは、次の要素から構成されています:

クロール コンポーネント

コンテンツ ソースをクロールしてクロールされたアイテムからクロールされたプロパティとメタデータを収集し、この情報をコンテンツ処理コンポーネントに送ります。

クロール データベース

最後にクロールを実行した時刻、最後のクロール ID、最後のクロール時の更新タイプなど、クロールされた項目に関する情報が格納されています。

コンテンツ処理コンポーネント

コンテンツ ソースをクロールして、クロールされたアイテムからクロールされたプロパティとメタデータを収集し、この情報をインデックス コンポーネントに送信します。

インデックス

インデックス コンポーネントは、コンテンツ処理コンポーネントから処理されたアイテムを受信し、その情報を検索インデックスに書き込みます。 このコンポーネントは、受信クエリの処理、検索インデックスからの情報の取得、クエリ処理コンポーネントへの結果セットの送信なども実行します。

クエリ処理

クエリ処理コンポーネントは、検索のクエリと結果の分析と処理を行います。 処理されたクエリはインデックス コンポーネントに送信され、クエリの検索結果が返されます。

検索管理

検索管理は、検索管理コンポーネントとそれに対応するデータベースから構成されています。

検索管理コンポーネント

検索用のシステム処理を実行し、検索コンポーネントの新しいインスタンスの追加と初期化を行います。

検索管理データベース

検索構成データを格納します。

分析

分析アーキテクチャは、分析処理コンポーネント、分析レポート データベース、およびリンク データベースから構成されています。

分析処理コンポーネント

検索分析と使用分析を実行します。

リンク データベース

コンテンツ処理コンポーネントと検索クリック情報から抽出された情報を格納します。

分析レポート データベース

利用状況分析の結果を格納します。

イベント ストア

フロントエンドでキャプチャされた使用イベントを格納します。

検索拡張ポイント

SharePoint の検索 アーキテクチャは、カスタマイズ シナリオをサポートする、複数の拡張ポイントを提供します。 このセクションでは、これらのポイントについて説明し、このようなシナリオを開発するための詳細をどこで取得できるかを示します。

コネクタ フレームワーク

クロール コンポーネントは、データを取得するためにコンテンツ ソースと通信するコネクタまたはプロトコル ハンドラを呼び出すことで、コンテンツをクロールします。 SharePoint の検索 には、新しいコンテンツ ソースをクロールするコネクタのカスタマイズと構築を行うために使用できるコネクタ フレームワークが含まれています。 コネクタ フレームワーク アーキテクチャとその拡張方法の詳細については、「 SharePoint でのコネクタ フレームワークの検索」を参照してください。

カスタム コンテンツ処理

コンテンス処理コンポーネント内で、Content Enrichment Web サービス コールアウトを使って、クロールされたアイテムの管理プロパティを検索インデックスに追加する前に変更することができます。 この Web サービス コールアウトは、作成した任意の外部コンテンツ エンリッチメント Web サービスに対して、コールアウトを実行します。 詳細については、「Custom content processing with the Content Enrichment web service callout」を参照してください。 コンテンツ エンリッチメント Web サービスの詳細な実装については、「 方法: SharePoint Server のコンテンツ エンリッチメント Web サービス吹き出しを使用する」を参照してください。 ブログ投稿 コンテンツ エンリッチメント Web サービスを使用した SharePoint 検索エクスペリエンスのカスタマイズ も適切なリソースです

クエリ API

SharePoint の検索 には複数のクエリ API が用意されており、検索結果にさまざまな方法でアクセスできるため、検索結果を多様なカスタム ソリューション タイプで返すことができます。

表 1 では、SharePoint の検索 のプログラムに使用できる API とその格納場所を示しています。

表 1. 検索 API

API 名 クラス ライブラリまたはスキーマとパス
.NET クライアント オブジェクト モデル (CSOM)
Microsoft.SharePoint.Client.Search.dll
%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\ISAPI
Silverlight CSOM
Microsoft.SharePoint.Client.Search.Silverlight.dll
%ProgramFiles%\Common Files\Microsoft Shared\Web サーバー拡張機能\15\TEMPLATE\LAYOUTS\ClientBin
JavaScript CSOM
SP.search.js
%ProgramFiles%\Common Files\Microsoft Shared\Web サーバー拡張機能\15\TEMPLATE\LAYOUTS
REST (Representational State Transfer) サービス エンドポイント
http://server/_api/search/query
http://server/_api/search/suggest
サーバー オブジェクト モデル
Microsoft.Office.Server.Search.dll
%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\ISAPI

詳細については、「 SharePoint 検索クエリ API の使用」を参照してください。

分析

ユーザーにとって最も役立ち、重要と思われるコンテンツを識別して、表示する目的で、分析処理コンポーネントは、コンテンツ自体と、ユーザーがそれに対してどのような操作をしたかの両方を分析します。 これらの分析は、分析ライフ サイクル タスク (要求されたときに分析ジョブを開始、停止、一時停止、再開するなど) を実行するタイマー ジョブによって実行されます。 これらのタイマー ジョブは、 Microsoft.Office.Server.Search.Analytics 名前空間を 使用して操作できます。 SharePoint の分析の詳細については、「SharePoint で処理する分析の概要」を参照してください。

カスタム ランキング モデル

検索結果はさまざまな方法で並べることができ、その一つにランク スコアがあります。 ランク スコアは、ランク付けモデルを使用して、検索エンジンによって計算されます。 SharePoint では、既定で 14 のランク付けモデルを提供します。 ただし、検索結果が並べられている方法に満足いかない場合は、カスタムのランク付けモデルを使用することができます。 カスタム ランク付けモデルを作成して調整するプロセスの詳細については、「ランク付け モデルをカスタマイズして SharePoint の関連性を向上させる」を参照してください。

カスタム セキュリティ トリミング

SharePoint の検索では、クエリ処理時に、クロール コンポーネントから取得されたセキュリティ情報を使用して、クエリを送信したユーザーの ID に基づいた検索結果のセキュリティ トリミングを実行します。 ただし、場合によっては、カスタム セキュリティ トリミングを実装する必要があります。 SharePoint には、このタスクを実行するための 2 つのインターフェイス ( ISecurityTrimmerPreISecurityTrimmerPost) が用意 されています。

トリマー前のインターフェイス (ISecurityTrimmerPre) は、検索クエリが検索インデックスと一致する前にセキュリティ情報を追加して検索クエリを再作成し、クエリ前の評価を実行します。 一方、トリマー後のインターフェイス (ISecurityTrimmerPost) は、検索結果がユーザーに戻される前に検索結果から排除を行い、クエリ後の評価を実行します。 2 つのインターフェイスの詳細については、「 SharePoint での検索のカスタム セキュリティ トリミング」を参照してください。 セキュリティ トリマー インターフェイスを実装する方法の詳細については、「 方法: SharePoint Server 検索結果にカスタム セキュリティ トリマーを使用する」を参照してください。

コンテンツ検索 Web パーツ

コンテンツ検索 Web パーツは、これまでにクロールされて検索インデックスに追加された動的コンテンツを表示できる Web パーツです。 Web パーツの各インスタンスには検索クエリが関連付けられて、その特定の検索クエリの結果が表示されます。 コンテンツ検索 Web パーツが含まれるページをユーザーが閲覧すると、検索クエリが自動的に発行され、それに対応する結果が検索インデックスから返されます。 自動生成される検索クエリによって入力されるコンテンツを表示する必要がある場合はいつでも、コンテンツ検索 Web パーツを使用できます。 場合によっては、 Microsoft.Office.Server.Search.WebControls 名前空間を介して ContentBySearchWebPart として公開される Content Search Web パーツを拡張することもできます。 Web パーツがカスタム プロパティを認識するように ContentBySearchWebPart を拡張する方法については、「SharePoint でのユーザーのセグメント化」を参照してください。

Navigation と Event Logging REST インターフェイスを使用する検索型モバイル アプリ

SharePoint には、Navigation と Event Logging の 2 つの新しい REST インターフェイスが用意されています。 これらは、Windows 以外のオペレーティング システムで実行するスマート フォンやタブレットなどのモバイル デバイス用の検索型モバイル アプリを作成するのに使用します。 この機能では、モバイル チャネルを使用するのではなく、別の方法で製品カタログをモバイル デバイスで表示することができます。 このようなアプリを作成する方法の詳細な例については、「 方法: ナビゲーションとイベント ログ REST インターフェイスを使用して検索駆動型モバイル アプリを構築する」を参照してください。

このセクションの内容

関連項目