SharePoint Portal Server Search 2003 のカスタマイズ内容を企業内検索にアップグレードする
Microsoft Office SharePoint Portal Server 2003 (SharePointPSSearch) では、SharePoint Portal Server Search 2003 (SharePointPSSearch) 検索エクスペリエンスを複数の方法でカスタマイズすることができました。SharePoint Portal Server 2003 ポータル サイトを Office SharePoint Server 2007 にアップグレードすると、検索のカスタマイズに影響する場合があります。このトピックでは、SharePointPSSearch 2003 のカスタマイズおよびこのカスタマイズがアップグレード プロセスによってどのように影響されるかについて説明します。
アップグレード プロセス
SharePoint Portal Server 2003 から Office SharePoint Server 2007 にポータル サイトをアップグレードするときは、次の 2 つのアップグレード プロセスから選択できます。
一括アップグレード。このプロセスは、ポータル サイト内のすべてを一度にアップグレードします。アップグレード プロセスが完了するまでポータル サイトは使用できません。
段階的なアップグレード。このアップグレード プロセスは段階的です。ポータル サイトの一部で新しいバージョンを使用しますが、他のサイトでは引き続き以前のバージョンを使用します。
Office SharePoint Server 2007 検索では、両方のアップグレード プロセスをサポートしています。段階的アップグレードを使用すると、サーバー ファームでは SharePointPSSearch サービスおよび Office SharePoint Server 2007 検索サービスが両方一緒に実行されます。
注意
検索の構成設定のみがアップグレードされます。コンテンツ インデックスはこのプロセスには含まれません。アップグレード後は、コンテンツを再クロールして、新しいコンテンツ インデックスを作成する必要があります。
検索のカスタマイズ
SharePoint Portal Server 2003 では、いくつかの方法で検索をカスタマイズすることができました。このようなカスタマイズの一覧を次に示します。リンクをクリックすると、アップグレードがその領域のカスタム ソリューションにどのように影響するかについて詳細が表示されます。
検索管理を使用したカスタマイズ
検索のクエリ
検索 UI のカスタマイズ
検索管理を使用したカスタマイズ
SharePointPSSearch では、検索管理クラスはMicrosoft.SharePoint.Portal.Admin.Search名前空間にありました。Office SharePoint Server 2007 検索では、Microsoft.SharePoint.Portal.Admin.Searchは新しい検索管理名前空間Microsoft.Office.Server.Search.Administrationで置き換えられました。
Microsoft.Office.Server.Search.dll にあるMicrosoft.Office.Server.Search.Administrationに含まれるクラスを使用して、プログラムにより検索を管理するカスタム コードを記述することができます。
注意
Microsoft.SharePoint.Portal.Admin.Searchが削除されたため、Office SharePoint Server 2007 へのアップグレード後はこれに含まれていたクラスを使用するコードはすべて機能しなくなります。
検索のクエリ
QueryProvider クラス
SharePointPSSearch では、Microsoft.SharePoint.Portal.Search名前空間のQueryProviderクラスを使用して、カスタム コードから検索サービスに対して検索クエリを実行していました。
Office SharePoint Server 2007 検索では、このクラスは廃止されましたが、依然としてサポートされています。そのため、検索サービスを Office SharePoint Server 2007 検索にアップグレードした後もこのクラスに対して記述したコードは、引き続き機能します。
クエリ検索サービス用に新しいコードを作成する場合は、QueryProviderクラスの代わりに、新しいクラスを使用してください。新しいクラスはMicrosoft.Office.Server.Search名前空間に属し、Microsoft.Office.Server.Search.dll に記述されています。次のクラスがあります。
FullTextSqlQuery– フルテキスト構文検索クエリに使用します。
KeywordQuery– キーワード構文検索クエリに使用します。
検索クエリ Web サービス
Office SharePoint Server 2007 検索には、クエリ Web サービスが含まれています。これは、SharePointPSSearch との下位互換性があります。
http://<portal_site>/_vti_bin/search.asmx
アップグレード プロセスの完了後、SharePointPSSearch クエリ Web サービスを呼び出していたクライアント アプリケーションは引き続き機能し、Microsoft.Search.Document スキーマ形式を使用して検索結果を返します。ただし、Web サービスの新規バージョンでは、検索結果を返す方法が少し変更されています。つまり、おすすめコンテンツは関連結果とは別に返されるようになりました。Microsoft.Search.Document スキーマ形式が、複数の検索結果セットを返すことをサポートしなくなったため、検索結果を返すためにこの旧スキーマを依然として使用しているクライアントには、関連結果のみが返されます。おすすめコンテンツは含まれません。
クエリ構文
Office SharePoint Server 2007 検索では、SQL Server フルテキスト検索構文をサポートしています。そのため、SharePointPSSearch 用に書かれているほとんどの検索クエリは、Office SharePoint Server 2007 検索へのアップグレード後も引き続き機能します。ただし、構文にはいくつかの変更があり、いくつかの SQL 構文が削除または廃止されました。それらを表 1 に示します。
表 1. Office Server 検索での SQL 構文の変更
要素 |
説明 |
---|---|
COALESCE_TABLE 関数 |
削除されました。 この関数を使用したクエリは再作成する必要があります。 |
列の重み付け |
削除されました。Office SharePoint Search に対するクエリに存在する場合は、無視されます。 |
ランクの変更 |
削除されました。Office SharePoint Search に対するクエリに存在する場合は、無視されます。 |
UNION ALL 要素 |
削除されました。Office SharePoint Search に対するクエリに存在する場合は、無視されます。 |
MATCHES 述語 |
削除されました。 この述語を使用したクエリは再作成する必要があります。 |
FROM <scope> |
FROM句への検索スコープの指定はサポートされなくなりました。エンタープライズ検索では、次のFROM句の構文のみをサポートしています。
|
注意
Office SharePoint Server 2007 検索では、検索クエリでのキーワード構文のサポートが追加されました。詳細については、キーワード クエリ構文のリファレンスを参照してください。
検索 UI のカスタマイズ
Search.aspx
Office SharePoint Server 2007 アップグレード プロセスでは、Search.aspx ファイルは変更または上書きされません。このページに行ったカスタマイズは、アップグレード後も、引き続き機能します。
検索 Web パーツ
SearchBox、SearchResults などの任意の SharePointPSSearch Web パーツを含むカスタム Microsoft ASP.NET ページは、Office SharePoint Server 2007 へのアップグレード後も引き続き機能します。