SharePointの全文検索を試してみる

.NETかつ日本語で使用できる適当な全文検索エンジンがなかなかみつからないので、
Microsoft Office SharePoint Server 2007のEnterprise Searchを試してみる。
http://office.microsoft.com/ja-jp/sharepointserver/default.aspx


(Lucene.netを見てみたけれども、日本語用のAnalyzerとかOfficeドキュメントの解析ライブラリとかがなさそうだった)


まず、試用版をダウンロードする
http://www.microsoft.com/downloads/details.aspx?FamilyID=2e6e5a9c-ebf6-4f7f-8467-f4de6bd6b831&displaylang=ja
(ページの下のほうに試用版のプロダクトキーがある)

とりあえず、Enterprise Editionでセットアップする。
IISと.NetFramework2.0 3.0が必要らしい。
SQL Serverはセットアップ時にExpressEditionが自動でインストールされる。
(既にあるSQL Serverを利用することもできるらしい)


セットアップ時に、スタンドアロンかサーバファームかを選べるがとりあえずめんどくさいので、
スタンドアロンを選択し、1つのVirtualPC環境に全部入れることにする。
あとは、デフォルト値のまま、Wizardをすすめていく。


セットアップが終わると、「製品とテクノロジ構成ウィザード」が始まるので、これもそのまま実行。


これが終わると、トップページ(http://localhost)にアクセスできるようになる。
ここまでで、2時間くらい。


ここから、検索対象の設定等をしていくはず。


スタートメニューの中に、「SharePoint 3.0サーバの全体管理」というのがあるので、これを開いてみる
管理サイトの画面が開く(http://localhost:35599


アプリケーション構成の管理-> 検索 -> Searchサービスの管理
を選ぶ。


検索を有効にした共有サービスプロバイダのSSP名のところのリンクをクリックしてみる。


共有サービスの設定画面が開く。
「検索の設定」をクリックする。


コンテンツソースとクロールのスケジュールをクリック
新しいコンテンツソースをクリック


コンテンツソースの種類:ファイル共有
開始アドレス:ファイルサーバのUNCパス


クロールの設定:あらかじめ設定されているスケジュールを選択


OKをクリック
とりあえず、まだクロールは開始しないことにする。


検索設定の構成に戻って、「既定のコンテンツアクセスアカウント」を選択
ファイルサーバへのアクセス権のあるアカウントに変更


が、なぜか新しいアカウントが保存されない。
クロールルールでもアカウントが設定できるらしいので、こちらで試してみる
IE6では管理ツールの動作がちょっとおかしいので、IE7で試してみる
IE7ではうまくいった、


この後、権限の問題で少しはまる
http://guru-web.blogspot.com/2007/08/wss-30-content-indexing-update-cannot.html
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2039105&SiteID=1
によると、コンテンツアクセスアカウントは、WSS_ グループに所属していないといけないらしい。


インデックスに追加するアクセス権とインデックス対象へのアクセス権がコンテンツアクセスアカウントには必要なようだ。


なので、コンピュータをドメインに参加させて、コンテンツアクセスアカウントをこれらのグループに追加してみる。


クロールルールで設定したアカウントはうまく効いていなかったので、とりあえず既定のコンテンツアクセスアカウントに
ファイルサーバへのアクセス権のあるドメインアカウントを設定したところ、クロールが開始された。


ここまでで、4時間くらい