EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

SQL Server 2012 フルテキスト検索の新機能(前編)

edited by DB Online   2012/04/12 00:00

フルテキスト検索の強化

 それでは、ここからは SQL Server 2012 でフルテキスト検索が強化された点について紹介していきます。

 まずは、ドキュメント/ファイルのプロパティ情報も検索条件として有効に使用できることになった点から始めましょう。

1.プロパティ検索

 エクスプローラーを使ってWindows上に存在するファイルを右クリックすると、ファイルのプロパティを参照するためのメニューが表示されることは、広く知られていると思います。ファイルのプロパティには様々な情報が保存されています。たとえばファイルの種類やサイズ、あるいはアクセス権などのセキュリティ関連の情報などがあります。

 そのような情報はファイル自体に保存している内容とは、別の観点からの検索するような場合にとても有効です(ファイルの作者をもとにファイルを検索する時など)。

 また、SQLServerは、各種のファイルをvarbinary、varbinary(max)、filetable、filestreamといったデータ型に格納することができます。さらに、格納したデータにフルテキストインデックスを作成することもできます。

 ここまでの内容は良いこと尽くめなのですが、実はSQL Server 2008 R2 まではややもどかしい実装になっていました。それは、ファイルのプロパティとファイルの中身の区別ができなかった点です。たとえば、プロパティに「作者: Mike Smith」という情報を持っていても、ファイルの中に「Mike Smith」という記述があった場合と区別することができませんでした。そのため、せっかくそれぞれのファイルが保持しているプロパティ情報の有効に利用できません。

 その点を改善するためにSQL Server 2012 ではプロパティに保存してされている情報を、ファイル内に含まれる情報と切り離して取り扱うことができるようになりました。これによって、プロパティ内に含まれる情報をもとにフィルタをかけるような場合に、大幅な検索対象の絞り込み(ファイル全体ではなく、プロパティ部分のみ)が可能になり、フルテキストインデックスに対するクエリのパフォーマンスを大きく向上させることができます。

 つづいては、2つの単語の関係性をより厳密に検索条件に指定できるようになった点の紹介です。


著者プロフィール

  • 平山理(ヒラヤマオサム)

    日本マイクロソフト株式会社 プレミアフィールドエンジニアリング プレミアフィールドエンジニア 日本マイクロソフトの Premier Field Engineering 部で、お客様に SQL Server をスムーズにお使いいただくための様々なお手伝いをしています。Sybase (現 SAP) 勤務時代の 5 年間とマイクロソフトでの 12 年間、データベース道を極めるために精進する毎日です。 二人の娘の父親であり、ハードロックを好む「バッタもん」ギタリストであり、毎月 300 km くらい走る (わりと) シリアス ランナーでもあります。著書に「絵で見てわかる SQL Server の内部構造」(翔泳社)

バックナンバー

連載:あたらしいSQL Server/Denaliの世界

もっと読む

All contents copyright © 2007-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5