2015年3月30日 (月)

SharePoint 2013 検索 - 数値列と管理プロパティ

SharePoint 2013 ではサイト列を作成し、リストやライブラリに追加して利用することで、クロール時に自動的に管理プロパティが生成されます。管理プロパティを使って、コンテンツの絞り込み検索ができるため、うまく使うと非常に便利な機能です。

管理の仕組みや検索キーワードの基本的な使い方や、検索ページのカスタマイズなどは弊社のコースで扱っていますが、コース内で説明しきれない点についてブログに追記しておきます。

自動的に作成される管理プロパティではデータの種類が必ずテキストになります。したがって、単純に"特定の文字を含む" といった絞り込みは可能であるものの、特定のプロパティを使って大小比較するような検索の絞り込みをしたい場合はこのままでは都合が悪いわけです。

そこで、新たに管理プロパティを作れるのかという話になるわけですが、オンプレミスのファーム管理者は、管理プロパティを自分で作成することができ、データ型も自由に指定できます。つまり、テキスト型以外にもできるということです。なお、SharePoint Online のテナント管理者とサイト コレクションの管理者も管理プロパティを作成できますが、指定できるデータ型がテキストまたははい/いいえの2種類に限定されます。

**2016/04/19 一部修正しました**

さて、サイト列が数値列であった場合には、注意が必要です。数値列は内部では値は Double  Decimal として扱われます。通常、自動生成される管理プロパティに対して、クロールされたプロパティである ows_q_NMBR_列名 などがマップされます。このクロールされたプロパティを新たに作成した管理プロパティをマップする際に、このデータ型を 整数(Integer) としてしまうと、このプロパティでの絞り込み検索はヒットません。代わりに 倍精度浮動小数点数(Double) 小数(Decimal) を指定するとうまくいきます。

管理プロパティの方でデータ型を 整数 としたい場合は、もう一つのクロールされたプロパティである ows_列名 の方をマップするとうまくプロパティでの絞り込み検索できるようになります。

検索の利活用をしたいと考えていらっしゃる方にとっては、少しコツがいるところでしたので、念のため共有しておきました。

検索機能を使いこなすための基本をまず知りたいという方は、弊社の下記のコースのご受講が最適です。具体的に自社内もしくは顧客環境で検索機能をどう使うとよいのかについても、アドバイスいたします。お気軽にご相談ください。

Course-Banner-SearchShort
 

コメント