こんにちは。日本マイクロソフト Outlook サポート チームです。
Outlook と Exchange Server 環境において、期待した検索結果が得られないというお問い合わせや、環境が変わったら検索結果も変わったというお問い合わせをいただくことが多くあります。今回は、なぜそのような動作結果が発生するかについてご紹介します。
今回の記事で対象となるのは、クイック検索と呼ばれる以下の場所の検索機能です。
※ [高度な検索] など別画面での検索については、詳細な動作が異なるため、検索結果が変わる場合があるのでご注意ください。
ワードブレイクについて
日本語は英語のように単語ごとにスペースの区切りが入らず、句読点を除けば文章が一続きで記述されます。 このため日本語検索においては、まずこの一続きの文章から検索用のキーワードを区切って検知する必要があり、この動作はワードブレイクと呼ばれます。
例えば、「彼は営業畑の人間だ」という文章を考えてみた場合、"彼" "は" "営業" "畑" "の" "人間" "だ" という風に分割されるのが理想的でしょうか。"営業畑" は一続きでまとめてもいいかもしれません。ただ、このように分割する処理をプログラムでロジカルに行うことは大変高度な処理となり、例えば "彼" "は" "営" "業畑" "の" "人" "間" "だ" というように、期待されないワードブレイクの結果になってしまう場合も考えられます。
ワードブレイクは Windows や Outlook、Exchange Server などマイクロソフトの製品に限った話ではなく、日本語検索を行うテクノロジー全般で考慮されているものと考えられます。
というのも、ユーザーが入力したキーワードから検索対象のデータすべてにフルテキストで検索を行おうとすると、どうしても検索の処理が遅くなってしまうためです。この対処として、あらかじめ検索対象のデータにワードブレイクを行って検索用のインデックスを保持しておく方が遥かに検索速度の向上が見込めるということになります。
ワードブレイクが必要となるタイミング
では、どのような場合にワードブレイクが行われるのでしょう。
上述したように、検索対象となるデータ (Outlook、Exchange Server 環境においてはメールや会議アイテムの件名、本文、添付ファイルなど) から、検索用のインデックスを作成する場合が 1 つです。
Outlook と Exchange Server の環境においては、キャッシュ モード有効時と、キャッシュ モード無効時 (オンライン モード) で以下のように動作が変わります。
キャッシュ モード有効 : クライアント側に保持されたインデックスを元に検索が行われる
キャッシュ モード無効 : Exchange Server 側で保持されたインデックスを元に検索が行われる
これらの検索用インデックスを生成するために、クライアント、サーバー側では新着メールなどで新しいデータが増えるたびに Windows Search などの Windows OS の機能によりワードブレイクをおこなって検索用のインデックスに追加を行っています。
これらのインデックス作成時以外に、もう 1 つ、ワードブレイクが必要となるタイミングがあります。
それは、クイック検索のウィンドウにユーザーが検索文字列を入力した場合です。(※)
例えば、検索キーワード欄に "営業畑" と入力した場合に、"営業" と "畑" に分割したほうがいいのか、"営業畑" で一続きのキーワードなのか、あるいはそれ以外の "営" と "業畑" なのか、といった具合にワードブレイクによる判断が行われます。
そして、クイック検索に入力された文字列をワードブレイクする処理は、キャッシュ モード無効/有効に関わらず、クライアント側の Windows Search などの Windows OS の機能によって実行されます。(※)
(※) Outlook 2016 と Exchange Server 2016 以降の組み合わせでは Fast Search と呼ばれる検索に変更され、キャッシュ モードの場合にユーザーが入力した文字列をワードブレイクする処理は Exchange Server 側で行われるように動作が変わっています。
期待した検索結果が得られない原因
マイクロソフトの製品では、よりよい検索結果を提供するため、ワードブレイクの動作を常に更新しています。
そのため、Windows OS や Windows Search の詳細バージョンや言語環境によってワードブレイクの結果が異なる可能性があります。
そして、オンライン モードの Outlook を使用している場合、ユーザーが入力した検索ワードのワードブレイクの結果 (クライアント側の動作) と、Exchange Server 側のワードブレイクで作成されたインデックスの状態が一致しない状況が発生すると、期待した検索結果が得られない可能性があります。
また、キャッシュ モードが有効な場合も、ワードブレイクを行うのが同じクライアントの Windows Search などの OS の機能となるのでその点での差異は通常発生しませんが、ワードブレイクの結果が予想外のものだった場合に、ユーザーが期待しない検索結果となる場合もあります。
例えば、"営業畑" をクイック検索のウィンドウに入力した際に、"営" と "業畑" にワードブレイクされてしまい、"営" のみの漢字がメール本文や添付ファイルに含まれているアイテムも結果として表示されてしまうなどの状況です。
環境によって検索結果が異なる原因
前述したように、Windows OS や Windows Search の詳細バージョンや言語環境によって、ワードブレイクの結果が異なる可能性があり、これらの要因が検索結果に影響を与えます。
また、Outlook の詳細バージョンによっても、ワードブレイクした後の各キーワードを検索クエリにおいてどのように扱うかという内部動作が異なる場合もあるため、ユーザーが使用する環境が変わると検索結果が異なる可能性があります。
期待した検索結果を得るためには
ここまで書いたように、ワードブレイクは検索を扱うテクノロジーにおける大きなテーマです。
マイクロソフトでは、ユーザーが期待した検索結果が得られるよう、日々ワードブレイクの精度向上に注力しています。
ユーザー環境において、可能な限り期待した検索結果を得るためには、以下のようなご利用方法を推奨します。
・クライアント側の OS と Exchange Server の OS を可能な限り同時期にリリースされたものに揃え、OS、Windows Search、Outlook、Exchange Server の Update も定期的に適用する。
Outlook のクイック検索については以下もご覧ください。
- 参考
Title : クイック検索を使ってメッセージまたはアイテムを検索する
URL : <https://support.office.com/ja-jp/article/Find-a-message-or-item-with-Instant-Search-69748862-5976-47b9-98e8-ed179f1b9e4d>
本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。