...

簡単シリーズ DB2 Net Search Extender

by user

on
Category: Documents
52

views

Report

Comments

Transcript

簡単シリーズ DB2 Net Search Extender
簡単シリーズ
DB2 Net Search Extender
1回目
第1話
はじめに
今日、特にe-business やコンテンツ・マネージメントの分野において、多くのアプリケー
ションが全文検索機能を必要としています。本格的にビジネスを行っているWeb サイト
で、利用者が関心の対象をすばやく見つけられるようにするテキスト検索機能を用意し
ていないところはほとんどありません。
この稿では、DB2 Net Search Extenderによる全文検索機能について実例に基づい
て見ていこうと思います。
DB2 Net Search Extenderとは
全文検索を高速に行う機能を提供をします。
全文検索機能とは、検索対象の文書の「本文」そのものについて検索を行うことです。一般にこ
れを実現するために、ある検索方式を用いて、語句を抽出して索引を構築し、検索時には、そ
の索引を対象に検索することにより、検索結果を返します。
DB2などのRDBの検索でも文字列に対してLIKE検索が出来ますがどう違うのでしょうか?
LIKE検索では、検索条件に一致した語句でなければ、ヒットしませんが、全文検索では、同義
語・関連語を含めるシソーラス検索、語句が完全一致しなくてもヒットするあいまい検索が可能
です。さらに、LIKE検索では、アルファベットの大文字、小文字や全角・半角の区別をしますが、
全文検索の場合、基本的に区別はありません。
DB2 Net Search Extenderとは
LIKE検索の例
DB2 Net Search Extenderとは
全文検索の例
DB2 Net Search Extenderとは
例で見てみましょう。ガーデニング関係の本を探したいと思った時に「ガーデニング」というキーワードで
検索をしてみました。LIKE検索をした場合は、「ガーデニング」という語句が本当に入っている本しか検
索結果として返ってきませんが、全文検索をした場合には園芸や色々な花の育て方、インテリアなどの
意味的に同じ、または関連した本も検索結果として返ってきました。検索する側として既にタイトルを
知っている本を探すのであればLIKE検索でも検索可能ですが、ただ漠然と書店の店頭と同じように
ガーデニング関連の本を探したいなと思っている場合には全文検索というはたいへん便利ですね。
また、LIKE検索では、前方一致検索(つまり、テキスト・データの先頭文字が一致する検索)でないと、
十分な性能が出ません。これに比べ全文検索では、あらかじめ索引を抽出しておくため、テキストの中
間にある文字を検索する場合でも、高速に処理を行うことができます。
DB2 Net Search Extender V8.1の製品紹介
DB2 Net Search ExtenderV8.1
DB2 Net Search Extender (以下NSE) バージョン8は、DB2 Net Search Extender バー
ジョン7.2 のメモリー内検索機能(in-memory search) と、DB2 Text Information Extender
バージョン7.2の強力なテキスト検索機とを統合した、ひとつの使いやすいDB2オプション
製品となります。これにより、高いパフォーマンスおよび拡張容易性を備えたテキスト検
索を必要とするアプリケーションに対応します。
DB2 UDB、他データベース(DB2 UDB連合機能を使用)、または、ファイル・システム(DB2
DataLinks Managerを使用)に格納されたテキスト・ドキュメントに対し、SQL Queryまたは
Stored Procedureを使用した検索を行うことができます。
NSE は DB2 UDB コントロール・センターから管理することができ、テキスト索引の作成な
どの基本的なタスクが大幅に単純化できるようになりました。
パッケージ
NSE V8.1は以下のDB2 UDB製品に無償同梱されます(ユーザー数制限付き)。
DB2 Personal Edition V8.1
DB2 Workgroup Server Edition V8.1
DB2 Personal Developer's Edition V8.1
DB2 Universal Developer's Edition V8.1
以下のDB2 UDB製品の有料オプション製品として、NSE V8.1をご購入いただくこ
とが可能です。
DB2 Workgroup Server Unlimited Edition V8.1
DB2 Enterprise Server Edition V8.1
システム要件
NSE V8.1の稼動には以下の環境が必要です。
Windows NT Version 4.0 Service Pack 5以降
Windows 2000, Windows XP
AIX Version 4.3 以降
Solaris Version 2.6 以降
DB2 Version 8.1
Net Search Extenderのテキスト索引
NSEでの全文検索の例
Net Search Extenderのテキスト索引
NSEで全文検索するためには、事前にテキスト文書に対してテキスト索引を作成します。
図の例では、書籍情報テーブルの文章列に書籍情報を格納し、その列に対してテキスト索
引を作成しています。
テキスト索引として作成可能なテキスト文書はフラットなテキスト文章だけでなく、HTML、
XMLの構造化文書などさまざまなフォーマットにも対応しています。
NSEではキャッシュテーブルとして、あらかじめ検索結果として表示したい列を指定してメモ
リー上に展開しておくことが可能です。
図の例では、検索結果の本のタイトル列をキャッシュテーブルとしてメモリー上に展開してい
ます。テキスト索引によって検索された文章の検索結果として本のタイトルを返す際に、実
テーブルを見にいかなくて済みますので高速に結果を返すことが可能です。
テキスト索引作成時にあらかじめ検索結果の表示順を指定しておくことが可能です。(最新
刊を先に表示させるなど)
NSEでの検索方法
NSEには検索方法が3種類あります。
ストアードプロシージャー(NSE V7.2と同等)
SQLスカラー関数(TIE V7.2と同等)
SQL表値関数(新API)
それぞれの検索方法によってメモリーの使い方や制約などが変わってきますので、次回
以降特徴を説明していきます。
NSEの提供する検索機能
NSEは以下の検索機能を提供します。
ブール演算(AND, OR, NOT)
同じ文または同じ段落内でのワードに対する近接検索
検索ごとに似たスペルをもつワードを検索するファジー検索
ワード全体および単一文字に対するワイルドカード検索
フリー・テキスト検索
シソーラス・サポート
文書内のセクションへの検索の限定
構造化文書でのタグ指定による検索
数値属性のサポート
多数の同時ユーザーによる大量テキスト文書に対する高速検索 などなど
最後に
DB2 Net Search Extenderについての初回となる今回は、DB2 Net Search
Extenderの概要を中心にお話して来ました。次回以降は、DB2 Net Search
Extenderのそれぞれの検索方法についての特徴と実際の使い方を見て行きた
いと思います。
Fly UP