株式会社PFU 千葉辰典
すっかり季節は冬に、気が付いたら師走ですね。おまたせしました。
今回のTipsは、以前に寄稿した『登録した文書が見つからない!~会社名編~』の関連記事となります。
前は会社名を例に、「ゆらぎ」の問題について述べました。今回は検索対象のプロパティが「英数字」の場合の"ワードブレイク"に関する仕様について記します。
前回同様、ドキュメント(やアイテム)にプロパティを付けてSharePointに登録しても、検索で引っかからない・・・と言った悩みの一助になれば幸いです。
※本稿での検証は、あくまでもSharePoint標準の検索機能を用いた検索結果です。
-----
SharePointに登録された文書およびプロパティ情報は、検索サービスによってクロール時に言語分析され、それにより選ばれたワードブレイカ―を用いてインデックス化されます。検索はそうしてブレイクされた"単語単位(完全一致)"、または、"単語の先頭一致(前方一致)"でしか行われません。
その時に、対象の文字列が「英数字」の場合、どのようにブレイクされるのでしょうか?
答えは ─
英数字などの1バイト文字は、スペースや記号でワードブレイクされます。
例えば、プロパティに 「United States of America U.S.A」 と言う文字列が入力された場合、SharePointは英語のワードブレイカ―を使って以下の7単語にブレイクします。「U.S.A」や「U.S.」は英語の辞書に存在するので、記号が合っても無理にブレイクはされません。ちなみに、辞書に無いであろうハイフン繋ぎで「U-S-A」とした場合、「U」「S」「A」と1文字ずつブレイクされます。
United
States
of
America
U.S.A
U.S.
A
例えば、「State」と言う単語を使って検索した場合、完全一致しないのでヒットしません。その場合、前方一致となる「state*」か、完全一致となる「states」で検索するとヒットします。
検索文字列 | 検索結果 | |
---|---|---|
完全一致検索 | States | ○ |
State | × | |
前方一致検索 | States* | ○ |
State* | ○ |
英数混在の単語の場合、下表のようにブレイクされるため単語内での部分一致や、中間文字での前方一致を使った検索を行うことはできません。以下の例でお分かりいただけるように、単語の一部分で検索する必要性がある場合、意図的にブレイクされるように記号などを挟むようにする仕組みや運用が必要です。
対象文字列 | ブレイク後の単語 | 検索結果 |
---|---|---|
1011234567 | 1011234567 | "1234567"や"4567"では検索できない |
ABC1234567 | ABC1234567 | "1234567"や"4567"では検索できない |
1234567DEF | 1234567DEF | "123*"や"1234567*"では検索できるが、"123"や"DEF"では検索できない |
101-1234567 |
101-1234567 |
"101"や"1234567"では検索できるが、"123"では検索できない |
101-123-4567 |
101-123-4567 |
"101"、"123"、"4567"での検索ができる |
-----
前述のような意図的に記号などを挟むことができない場合は、検索したい部分だけのプロパティを用意するのが簡単です。下図の例では、検索用に設けた「コード検索用」列が該当します。当たり前ですが、そうすることでそれら「DEF」や「123」などの単語の一部の文字列で検索できるようになりますので、利用者の利便性向上に繋がるハズです。
※注:上図では管理プロパティに設定した"エイリアス"を使って検索しています。エイリアスを指定しない場合は、既定の管理プロパティのまま「コード検索用OWSTEXT=xxxx」などと指定する必要があります。管理プロパティについては、こちらのTips「開発&検索で使える管理プロパティの作成方法」をご参照ください。
-----
弊社(株式会社PFU)では、自社で培ったSharePoint&文書管理のノウハウと、SharePoint向けアドオンソリューション「ドキュメントソリューション for SharePoint」で、紙文書・電子データの積極的活用を実現するお手伝いをしています。ご興味のある方は、こちらからお問い合わせ下さい。
株式会社PFU)千葉辰典
© PFU LIMITED 2015
Microsoft、Windows、SharePoint、Excel、Word、PowerPoint、Outlookは、米国Microsoft Corporationの、米国、日本およびその他の国における登録商標または商標です。
記載された会社名および製品名は各社の商標または登録商標です。
以上。