Microsoft Dynamics CRM 2015 更新プログラム 0.1 : 簡易検索のパフォーマンス向上機能

みなさん、こんにちは。

今日は Microsoft Dynamics CRM 2015 更新プログラム 0.1 に含まれる簡易検索の
パフォーマンス向上について紹介します。

※こちらの機能は設置型だけの機能となります。

概要

これまで簡易検索は、SQL Server のインデックス機能を利用することで、高速な
検索を実現していましたが、SQL Server のインデックス機能の性質上、いくつか
制限がありました。

- 前方一致での検索のみインデックスが利用される
- データの持ち方によってインデックスの利用のされ方が変わる
- 統計データなどその他の状況によってインデックスの利用のされ方が変わる
- 検索文字列を完全に一致するものだけが検索対象となる
- 複数の検索文字列を利用できない

フルテキスト検索の採用
今回の更新プログラムでは、上記の問題を改善するため、簡易検索にいて SQL
Server のフルテキスト検索機能が利用できるようになりました。

設定方法

簡易検索におけるフルテキスト検索の利用は既定で無効となっています。以下の
機能を利用する場合、手順で有効にします。

1. ブラウザで Microsoft Dynamics CRM に接続します。

2. 設定 | 管理 | システムの設定をクリックします。

3. 「簡易検索の設定」項目で「簡易検索の全文検索を有効にする」を「はい」に
変更します。
image

4. 以下のメッセージが表示されます。これはフルテキスト検索用のカタログを
非同期サービスが作成しているためです。「はい」をクリックします。

image

データベースでの確認

機能を有効化した後、以下の手順で実際にフルテキストカタログが更新されたか
確認することができます。

1. SQL Server Management Studio を開いて、Dynamics CRM 組織データベースに
接続します。ストレージ | フルテキスト カタログより CRMFullTextCatalog を
選択します。

image

2. カタログを右クリックして「プロパティ」をクリックします。

まだデータが更新されていない場合、以下画面ショットのように既定の 2 つの
テーブルのみがカタログに割り当たられています。
image

データが更新さえると、以下のように割り当てられたテーブルが増えます。
image

動作確認

最後に動作を確認してみます。

部分一致検索 フルテキスト検索を有効にすると、自動的に部分一致の検索となります。

1. サービス | サポート案件を選択します。

2. 簡易検索に「情報」と入力して検索します。検索結果が部分一致で
表示されることを確認します。

image

複数検索句の利用
次に複数の検索句で検索してみます。

1. 検索文字列として「情報 製品」と入力して検索します。結果が意図した
ものであることを確認します。

image

2. 次に「”情報 製品”」をダブルクォーテーション(”) で括って検索します。
この場合 1 つの文字列をして検索されます。

管理者視点での情報

フルテキストカタログの管理
作成されるフルテキストカタログは Dynamics CRM によって管理されます。
またデータベースのバックアップと同時にバックアップもされるため、追加で
作業が発生することはありません。

新規にレコードが作成された場合もリアルタイムのインデックス化処理が
されるためこれまでと同じように利用が可能です。

検索結果について
フルテキスト検索は文章をワードに分割してインデックス化するため、この
作業が上手くいかない場合、検索にヒットしない可能性が残ります。利用環境で
存在するはずのレコードが上手くヒットしない場合は、一旦設定を元に戻す
こともご検討ください。

SQL Server のバージョン
フルテキスト検索は SQL Server の機能を利用しているため、SQL Server の
バージョンやサービスパックによって性能が改善されたり、不具合が修正
される可能性があります。フルテキスト検索に限ったことではありませんが
SQL Server の修正モジュールも併せて適用していくよう計画をしてください。

注意点

フルテキスト検索を利用することで、カスタムインデックスが不要になります。
ただし SDK やレポートなどから検索をしている列は、引き続き通常の検索と
なるため、削除時には利用方法を含め、検討してから削除してください。

まとめ

簡易検索のパフォーマンスは多くの組織や環境で悩みの 1 つでしたが、今回の
機能によりパフォーマンスが向上するだけでなく、カスタムインデックスが
不要になるなど管理工数も減る場合があります。多くのメリットを含んだ
機能ですので、是非 Update 0.1 適用とともにお試しください。

- 中村 憲一郎