Free Developer Search Tool for SharePoint 2010 Search と FAST Search for SharePoint

Free Developer Search Tool for SharePoint 2010 Search と FAST Search for SharePoint

この数か月間、私は SharePoint 2010 のクエリ エンジンとの連携を容易にする開発者向けツールの開発に断続的ながら取り組んできました。本ツールは、一部の方々にもう使ってみていただいてよい段階にまで仕上がっていると思います。他の方々が開発に参加できるように CodePlex へ移行して共同プロジェクト化することを話し合っていますが、今の段階ではまだそうすることを決めかねています。

 

本ツールを当初は以前の MOSS Query Tool for SharePoint 2007 のアップグレード版として開発しました (MOSS Query Tool 自体も私が最初に開発した SharePoint Query Tool for SharePoint 2003 のアップグレード版なので、もうだいぶ長くこれに取り組んできたことになります)。しかし、以前の MOSS Query Tool よりも多くの点で機能が強化してあり、実際にはかなり趣の違うツールとなっています。このアプリケーションから検索サービスの各部分を管理できるように全部がそろった画面を追加しました。クエリ ツールとブラウザーの間を絶えず行き来し、検索サービスの設定を変えてみて新しい値がどうなるか調べるなどというのは面倒なことです。そこで、アプリケーション開始時の最初の画面で検索サービスに関する情報をまとめて表示することにしました。実際、複数の検索サービスを扱えるようになったので、あるボタンをクリックすると、検索サービスの一覧が表示され、他のファームから使用している検索サービスのプロキシも含め、すべての情報が取得されます。検索サービスの詳細が得られた段階で、すべてのコンテンツ ソースを表示する、クロールの状態を取得する、コンテンツ ソースの開始アドレスの一覧を取得するといった操作を行うことができます。また、このツールからフル クロールまたは増分クロールを直接開始したり、コンテンツ ソースの開始アドレスを追加/削除したりすることもできます。

 

以下は、本ツールの開始画面の例です。いわば連続写真のような形で、異なるショートカット メニューがまとめて示してあります。

 

この画面の最上部には検索アプリケーションの基本的な情報が表示され、このツールからそれを変更することもできます。主に行われる作業はクエリをログに記録することとクエリ候補を有効にすることと思われます。[キーワードとおすすめコンテンツ] (Keywords and Best Bets) セクションでは、さまざまなサイト コレクションで定義したおすすめコンテンツを簡単に見つけ、実行する各クエリの要件を知ることができます。[クロール ルール] (Crawl Rules) セクションでは、何かを除外したり別の方法でクロールしたりするとき判断に迷った場合に、検索アプリケーションに定義されているすべてのクロール ルールを調べることができます。[管理プロパティ] (Managed Properties) セクションでは、検索アプリケーションに定義されているすべての管理プロパティを表示できます。ここには各管理プロパティの一部のプロパティしか表示されません (この画面でプロパティを範囲で使用できるようにするかどうかも変更できます)。しかし、管理プロパティをダブルクリックすれば、その管理プロパティのすべてのプロパティを含む別のダイアログが表示され、そのダイアログからプロパティの属性を変更できます。この表示例を次に示します。

 

 

[範囲] (Scopes) セクションには、定義されている各スコープが表示されます。ここでは、それが管理 UI に表示されるかどうかや、別の検索結果ページがあるかどうかなども確認できます。この画面の一番最後のセクションには FAST 検索に関するユーザー コンテキストのプロパティが表示されます。これらは FAST Search for SharePoint のユーザー コンテキストを作成するためのプロパティです。これについては、ブログ投稿 http://blogs.technet.com/b/speschka/archive/2009/12/09/using-custom-properties-to-create-a-fast-search-for-sharepoint-2010-user-context.aspx (英語) で解説しています。

 

[クエリ] (Queries) タブをクリックすると、以前に MOSS Query Tool で使用したのとよく似た画面が表示されます。ここで実際にクエリを作成して SharePoint または FAST に対して実行し、その検索結果を取得します。次に例を示します。

 

 

ここでもすべての管理プロパティの一覧が表示されます。各管理プロパティの隣の [Include] チェックボックスをオンにすると、それがクエリの結果に返されます。[Criteria] 列に管理プロパティのクエリ条件を入力できます。クエリ編集フィールドにドキュメントやアイテム内で検索する文字列を入力することもできます。以前と同じく、この段階で [Make SQL] ボタンをクリックすると、クエリを実行する SharePoint クエリ Web サービスに対して使用される SQL が作成されます。[クエリの実行] (Run Query) ボタンをクリックすると、クエリが実行され、その結果が新しいダイアログに表示されます。検索結果の例を次に示します。

 

 

このクエリ結果から重要な情報を得ることができます。画面の一番上には、クエリを実行するためにクエリ Web サービスに送信された Xml が表示されます。クエリでオブジェクト モデルを使用している場合は、[クエリ] (Queries) タブから直接 SQL をコピーできます。一方、Search Web サービスを使用している場合は、この検索結果ページから Xml を直接コピーできます。クエリで一致したものもすべて表示されるので、クエリが正常に動作しているかどうかがわかります。画面の一番下には、クエリで返されたその他のデータが表示されます (結果を Xml ではなくデータセットとして表示するよう要求した場合)。左側のおすすめコンテンツ (Best Bets) グリッドには、FAST のビジュアルおすすめコンテンツが表示されます。中央の特殊用語 (Special Terms) グリッドには、SharePoint Search のサイト コレクションに追加されたおすすめコンテンツが表示されます。右側の絞り込み (Refinements) グリッドには、クエリで返された絞り込みが表示されます。これは FAST クエリで [クエリ] (Queries) タブ の [Include Refinements] チェックボックスをオンにしたときだけ有効になります。

 

新たに FQL (FAST クエリ言語) をサポートしたことが MOSS Query Tool からの最大の改良点です。FAST は SharePoint Search の SQL 構文をサポートしていないので、FAST 検索アプリケーションではキーワードか FQL によるクエリを実行するしかありません。キーワードによるクエリは単純明快ですが、FQL は多くの SharePoint ユーザーにとって未経験の領域です。この言語の使用を促すために、[クエリ] (Queries) タブに FQL クエリを選択するドロップ ダウン リストを用意しました。このドロップ ダウン リストに、いくつかのサンプルの FQL クエリが入っています。さまざまな FQL 句と検索オプションを選択して、FQL でどのようなことができるか確かめてみるとよいでしょう。ここには MSDN 上の FQL 構文のヘルプを表示するリンクもあります。ドロップ ダウン リスト内のさまざまな FQL オプションを見て、どうすればよいかわからなくなった場合は、すぐリンクをクリックして FQL ヘルプを表示すれば、詳しい解説を読むことができます。次に、簡単な FQL 検索の結果を示します。これにはクエリで返された絞り込みも表示されています。

 

 

かいつまんで説明すれば、こんなところですが、以上をお読みになって本ツールを使うかどうか少なくとも検討する気にはなったのではないでしょうか。使う価値があるかどうかという点に関して言えば、私が経験した限りでは、このツールや MOSS Query Tool はいつも本当に役立ってきました。実際、独自のカスタム検索を展開するときはもちろんのこと、ファーム内の検索に関する問題のトラブルシューティングにも役立っています。このような簡単なツールで、あらゆる種類のカスタム クエリを実行して問題がありそうな場所を特定できるというのは、他に例がありません。本ツールを使うために必要なファイルは、この投稿に添付した ZIP ファイルにすべて含まれています。何か提案があれば、どうぞコメントを残してください。先ほども述べたように、本ツールを CodePlex へ移行して他の方々も開発に参加できるようにすることに意味があれば (率直にいって、私はこの開発に飽きてきています)、そのようにするかもしれません。本ツールをお楽しみいただければ幸いです。

 

2010 年 8 月 20 日更新: マップされたプロパティの作成と管理の機能を新たに追加しました。カスタム検索を展開するとき普通に必要とされる機能の 1 つなので、最初から当然含めておくべきでした。コンテンツ ソースのクロールの状態を更新する機能も追加しました。クロールを開始したとき、これで状態を確認できるようになります。

2010 年 8 月 22 日更新: 管理プロパティのすべての属性を Xml ファイルにエクスポートしてオフラインで確認する機能を追加しました。同じ形式の Xml ファイルをインポートして管理プロパティを別の管理プロパティにコピーして構成する機能を追加しました。

 

これはローカライズされたブログ投稿です。原文の記事は、「Free Developer Search Tool for SharePoint 2010 Search and FAST Search for SharePoint」をご覧ください。