あいまい検索こわくない? – フルテキストインデックス備忘録

どうもこんにちは。

SQL Serverにおけるフルテキストインデックスの備忘録です。
※なお、SQL Server 2012 R2 で動作検証済みです。


前提

SQL Serverのフルテキスト検索が有効になっていること。
(最近のバージョンはデフォルトで有効らしいですが。)


カタログ作成

例)

詳細はコチラを参照。


フルテキストインデックス作成

カタログ名はCREATE CATALOGで作成したカタログ名を指定する。
あと、フルテキストインデックスを使用するにあたり、ユニークインデックスが作られていないとダメ。
プライマリキーを指定するのはOK。
プライマリキー = ユニークインデックス + Not NULL制約 ですし。

例)

詳細はコチラ

準備はここまで。


データ取得

ゲロ吐きそうなパフォーマンスが悪かった悪名名高きあいまい検索のSQLを変更

旧)

新)

ただし、LIKEで検索する結果とCONTAINSで検索する結果が異なる可能性がある。
詳しくはコチラ


TODO

  • CONTAINSではなく、FREETEXTを使って検索した時の結果について調査
  • パフォーマンスチューニング
  • 他RDBMSでも同じことができるのか、代替案はあるのか

 

#もうちょっと早めに調査しとけばよかった。。。

以上、ほぼ個人用メモでした。

“あいまい検索こわくない? – フルテキストインデックス備忘録” への 0 件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です