情報処理装置、情報処理システム、検索結果表示方法、プログラム及び記録媒体
【課題】 検索対象文字列の確認を容易に行うことを可能とする。
【解決手段】 クライアント107は、入力された検索条件をサーバ101に対して送信し、前記検索条件に合致する一又は複数の文字列群の文書データ内における位置情報及び前記文書データをサーバ101から受信し、表示装置108上において前記文書データを表示させるとともに、表示装置108上における前記文書データの表示領域を切り換える際には、前記位置情報に基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群に含まれる何れかの文字列が表示されるように制御する。
【解決手段】 クライアント107は、入力された検索条件をサーバ101に対して送信し、前記検索条件に合致する一又は複数の文字列群の文書データ内における位置情報及び前記文書データをサーバ101から受信し、表示装置108上において前記文書データを表示させるとともに、表示装置108上における前記文書データの表示領域を切り換える際には、前記位置情報に基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群に含まれる何れかの文字列が表示されるように制御する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、検索結果表示方法、プログラム及び記録媒体に関し、特に、文書ファイルの検索を行うために用いて好適なものである。
【背景技術】
【0002】
近年、全文検索技術においては、文字列の検索時、単一の検索対象文字列に対する完全一致の他に、部分一致や同義語検索、および2つの検索対象文字列とその間の距離を検索する近傍検索等、様々な検索の種類が考えられ、またその効率的な表示方法も考えられている。
【0003】
その1つとして、特許文献1には、文書データベースの全文検索結果表示方法が開示されている。特に結果表示において、完全一致、部分一致、同義語検索といった検索の種類に応じ、強調表示の種類を変えると言うものであり、これにより、検索対象文字列の確認を容易にしようとするのものである。
【0004】
また、特許文献2では、文字列検索結果の確認を容易にするため、検索対象文字列が含まれる文書部分の表示を、例えば、「章」、「節」、「段落」と言う文書内容とは独立した、文書構造に着目し、指定した文書構造内に含まれる検索対象文字列を、順次表示するといった方法が開示されている。
【0005】
【特許文献1】特開平10−269233号公報
【特許文献2】特開平8−161349号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、コンピュータを使用した文書データに対する全文検索において、上記に挙げた様な検索結果の表示方法では、異なる複数の検索対象文字列が検索結果に含まれている場合、
(1)表示が煩雑になり、確認しにくい。
(2)特定の検索対象文字列のみに着目し、文書全体を概観する事ができない。
といった問題がある。
【0007】
従って、本発明の目的は、検索対象文字列の確認を容易に行うことを可能とすることにある。
【課題を解決するための手段】
【0008】
本発明の情報処理装置は、文書検索装置において格納される文書データに対する一又は複数の検索条件を入力する検索条件入力手段と、前記検索条件入力手段により入力された前記検索条件を前記文書検索装置に対して送信する検索条件送信手段と、前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報及び前記文書データを前記文書検索装置から受信する検索結果受信手段と、表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記位置情報に基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群に含まれる何れかの文字列が表示されるように制御する表示制御手段とを有することを特徴とする。
【0009】
本発明の情報処理装置は、格納している文書データに対する文字列を含む一又は複数の検索条件を入力する検索条件入力手段と、前記検索条件入力手段により入力された前記検索条件により前記文書データを検索する検索手段と、前記検索手段による検索結果から前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報を生成する文字列位置情報生成手段と、外部から前記文字列を指定させるための文字列指定手段と、前記文字列位置情報生成手段で生成された位置情報及び前記文書データから構造化文書ファイルを生成するとともに、前記文字列指定手段により指定された文字列のうち注目されるべき位置情報を判定し、前記構造化文書ファイル内において、判定された位置に存在する文字列に対して強調表示されるための情報とスクロール制御に必要な情報とを付加する構造化文書ファイル生成手段と、前記構造化文書ファイルに基づいて表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記構造化文書ファイル内における前記強調表示されるための情報と前記スクロール制御に必要な情報とに基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群のうち該当する文字列が強調表示されるように制御する表示制御手段とを有することを特徴とする。
【0010】
本発明の情報処理システムは、格納している文書データに対する検索機能を有する文書検索装置と前記文書検索装置からデータを受信して検索結果の表示を行う情報処理装置とを含む情報処理システムであって、前記文書検索装置は、文字列を含む一又は複数の検索条件を入力する検索条件入力手段と、前記検索条件入力手段により入力された前記検索条件により前記文書データを検索する検索手段と、前記検索手段による前記検索結果から前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報を生成する文字列位置情報生成手段とを有し、前記情報処理装置は、外部から前記文字列を指定させるための文字列指定手段と、前記文字列位置情報生成手段で生成された位置情報及び前記文書データから構造化文書ファイルを生成するとともに、前記文字列指定手段により指定された文字列のうち注目されるべき位置情報を判定し、前記構造化文書ファイル内において、判定された位置に存在する文字列に対して強調表示されるための情報とスクロール制御に必要な情報とを付加する構造化文書ファイル生成手段と、前記構造化文書ファイルに基づいて表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記構造化文書ファイル内における前記強調表示されるための情報と前記スクロール制御に必要な情報とに基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群のうち該当する文字列が強調表示されるように制御する表示制御手段とを有することを特徴とする。
【0011】
本発明の検索結果表示方法は、情報処理装置による検索結果表示方法であって、文書検索装置において格納される文書データに対する一又は複数の検索条件を入力する検索条件入力ステップと、前記検索条件入力ステップにて入力された前記検索条件を前記文書検索装置に対して送信する検索条件送信ステップと、前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報及び前記文書データを前記文書検索装置から受信する検索結果受信ステップと、表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記位置情報に基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群に含まれる何れかの文字列が表示されるように制御する表示制御ステップとを含むことを特徴とする。
【0012】
本発明の検索結果表示方法は、格納している文書データに対する検索機能を有する文書検索装置と前記文書検索装置からデータを受信して検索結果の表示を行う情報処理装置とを含む情報処理システムによる検索結果表示方法であって、格納している文書データに対する一又は複数の文字列を含む検索条件を入力する検索条件入力ステップと、前記検索条件入力ステップにより入力された前記検索条件により前記文書データを検索する検索ステップと、前記検索ステップによる検索結果から前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報を生成する文字列位置情報生成ステップと、外部から前記文字列を指定させるための文字列指定ステップと、前記文字列位置情報生成ステップで生成された位置情報及び前記文書データから構造化文書ファイルを生成するとともに、前記文字列指定ステップにより指定された文字列のうち注目されるべき位置情報を判定し、前記構造化文書ファイル内において、判定された位置に存在する文字列に対して強調表示されるための情報とスクロール制御に必要な情報とを付加する構造化文書ファイル生成ステップと、前記構造化文書ファイルに基づいて表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記構造化文書ファイル内における前記強調表示されるための情報と前記スクロール制御に必要な情報とに基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群のうち該当する文字列が強調表示されるように制御する表示制御ステップとを含むことを特徴とする。
【0013】
本発明のプログラムは、前記検索結果表示方法をコンピュータに実行させることを特徴とする。
【0014】
本発明のコンピュータ読み取り可能な記録媒体は、前記プログラムを記録したことを特徴とする。
【発明の効果】
【0015】
本発明によれば、表示手段上における文書データの表示領域を切り換える際には、表示領域内に属する文書データの先頭位置近傍に検索対象文字列が表示されるように構成したので、検索対象文字列を視認する際にはユーザの視線の位置を表示領域の先頭位置近傍とすればよく、検索対象文字列の確認を容易に行うことが可能となる。
【発明を実施するための最良の形態】
【0016】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0017】
図1は、本発明の一実施形態に係る文書検索システムの概略構成を示す図である。サーバ101は、データを一時保存するためのメモリ102、文字列(キーワード)検索の対象となる複数の文書ファイル(SGMLフォーマット、XMLフォーマット等の文書)を格納した文書データベース104、文書データベース104に格納された文書ファイルに対する文字列の検索を行い、検索結果位置が判別できるよう文書ファイルに編集を加えた表示情報を作成するための検索/表示プログラム103、及び、文字列検索の高速化を図るための文字列(キーワード)位置情報が格納された全文検索用インデックスファイル105を備える。
【0018】
メモリ102は、図2に示すサーバ101のハードウェア構成上のRAM202内に構成され、文書データベース104、検索/表示プログラム103及び全文検索用インデックスファイル105は、外部メモリ211内に構成される。尚、文書データベース104および全文検索用インデックスファイル105は通信が可能であれば、ネットワーク106に接続しているサーバ101以外のサーバ上に構成されていてもよい。サーバ101はネットワーク106を介してクライアント107とデータの送受信が可能である。
【0019】
クライアント107は、検索条件の入力と検索結果の表示を行うためのプログラム又はWebブラウザを搭載する。また、クライアント107は、ネットワーク106を介してサーバ101とのデータの送受信が可能である。図1ではネットワーク106に接続するクライアントは1つのみであるが、複数接続していても良い。また、図1に示すネットワーク106上における各種装置の接続構成は飽くまで一例であり、用途や目的に応じて様々な接続構成があり得る。
【0020】
図2は、サーバ101のハードウェア構成を示す図である。CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで各種動作を実現するものである。
【0021】
また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。ビデオコントローラ(VC)206は、CRTディスプレイ(CRT)210等の表示器への表示を制御する。表示器はCRTだけでなく、液晶ディスプレイでも構わない。メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフレキシブルディスク或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0022】
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0023】
検索/表示プログラム103は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。なお、クライアント107は、サーバ101と同様のハードウェア構成を有し、サーバ101と通信してCGI(Common Gateway Interface)等を用いてサーバ101に検索条件を送信し、また検索結果のデータをHTML形式のデータファイルとしてサーバ101から受信してブラウザアプリケーションで表示する。
【0024】
図3は、本実施形態に係る文書検索システムの基本的な処理フローを示す図であり、本文書検索システムの処理は、検索条件入力処理(ステップS301)、検索条件に基づく全文検索処理(ステップS302)、及び、全文検索結果に基づく結果表示処理(ステップS303)の3つに大きく分けられる。
【0025】
図4は、クライアント107の表示装置108上に表示される検索条件入力画面の構成例(図4(a))、及び、検索条件入力画面上で入力された検索条件がクライアント107からサーバ101に対して送信され、サーバ101のRAM202内において格納された状態の検索条件テーブルの構成例(図4(b))を示す図である。なお、図4(b)に示す検索条件テーブルは、検索条件入力画面上での入力内容に基づきクライアント107内においても保持される。
【0026】
図3の1番目の処理ステップである検索条件入力処理(ステップS301)では、クライアント107の表示装置108上に表示される検索条件入力画面(図4(a))を用いてユーザによって入力された検索条件(401〜405)が、検索実行ボタン406の押下によりCGIなどを用いてサーバ101に送信され、サーバ101がこれらの検索条件を受信する。図4(a)に示す例では、1文字以上の文字列を検索対象とする検索条件401、402、及び、1文字以上の文字列で開始され(以下、この文字列を開始文字列と称す)、1文字以上の文字列で終了し(以下、この文字列を終了文字列と称す)、且つそれらの2つの文字列間の文字数が指定数(以下、この指定数を文字列間文字数と称す)以下である近傍検索の検索条件403が設定されている。以下、1文字以上の文字列を検索対象とする検索処理を1語検索と称す。
【0027】
サーバ101は、受信した検索条件を検索条件テーブル内に図4(b)に示すような状態で格納する。即ち、図4(b)に示す検索条件テーブル内には、図4(a)に示す検索条件入力画面上における検索条件1入力項目401、検索条件2入力項目402及び検索条件入力項目403で入力された内容が、各検索条件番号(1〜3)に対応して格納される。なお、図4(b)に示す検索条件テーブル上では、「1文字列」が1語検索、「2文字列近傍20」が2つの文字列間の文字数が20文字以下の近傍検索であることを示しており、検索条件1の検索対象文字列が「印刷装置」、検索条件2の検索対象文字列が「プリンタ、検索条件3の検索対象文字列が「給紙(開始文字列)」、「反転(終了文字列)」であることを示している。
【0028】
図5は、図3の2番目の処理ステップである全文検索処理(ステップS302)の詳細を示すフローチャートである。図5に示す処理が実行されることにより、検索結果の表示時に使用される各検索対象文字列の位置情報が全文検索用インデックスファイル105から取得され、図6に示す文字列位置情報テーブル内に格納される。
【0029】
まず、サーバ101のCPU201は、通信I/Fコントローラ208を介してクライアント107から受信した検索条件が全文検索であるか否かを判定し(ステップS501)、全文検索で無い場合、本実施形態に係る検索結果表示方法を実行せず、処理を終了する。
【0030】
一方、検索条件が全文検索であった場合、CPU201はさらにその検索条件が1語検索の検索条件であるか、近傍検索の検索条件であるかを判定する(ステップS502)。
【0031】
1語検索の検索条件である場合(ステップS502/1語検索)、CPU201は全文検索用インデックス105から、検索対象文字列の文書ファイル内における位置情報を当該文書ファイルの先頭から検索し(ステップS503)、検索した順序で図6の文字列位置情報テーブル61内に先頭から登録していく(ステップS504)。なお、この文字列位置情報テーブル61は1語検索の検索条件毎に生成され、ここでは、各検索条件(検索条件1、検索条件2)に対応して2つの文字列位置情報テーブル61が生成されることになる。
【0032】
一方、近傍検索の検索条件である場合(ステップS502/近傍検索)、後述の図7及び図8のフローチャートに示される処理によって、近傍検索の検索対象文字列(開始文字列、終了文字列)の文書ファイル内における位置情報を格納する文字列位置情報テーブル62(図6)が作成される。文字列位置情報テーブル62も近傍検索の検索条件毎に生成され、ここでは、検索条件3に対応して1つの文字列位置情報テーブル62が生成されることになる。
【0033】
ステップS504又はステップS505に続くステップS506においては、CPU201は、検索条件判定(ステップS501)を図4(b)に格納される全検索条件に対して行なったか否かを判定し(ステップS506)、図4(b)に格納される全検索条件に対してステップS501の検索条件判定を繰返し行うことで、各検索条件に含まれる検索対象文字列の位置情報を図6の文字列位置情報テーブル61、62に格納することができる。
【0034】
図7は、図5のステップS505の詳細を示すフローチャートであり、文書検索システムによる近傍検索の概略動作を示している。
【0035】
先ず、CPU201は、現在処理対象となっている近傍検索の検索条件を検索条件テーブル(図4(b))から取得し(ステップS701)、当該検索条件の開始文字列と一致する文字列が存在している位置に関する情報(以下、開始文字列位置情報と称す)を全文検索用インデックスファイル105から取得し、RAM202に記憶させる(ステップS702)。なお、本実施形態では、文書ファイルの先頭から、開始文字列の最初の文字までの文字数を開始文字列位置情報としている。
【0036】
そして、CPU201は、開始文字列と一致する文字列が文書ファイル内に存在していたか否かを判断する(ステップS703)。この判断の結果、開始文字列と一致する文字列が文書ファイル内に存在していなかった場合、CPU201は、ステップS505の処理を終了して、続くステップS506の処理に移行する。
【0037】
こうして、ステップS703において、開始文字列と一致する文字列が文書ファイル内に存在していたと判断すると、CPU201は、当該検索条件の終了文字列と一致する文字列が存在している位置に関する情報(以下、終了文字列位置情報と称す)を全文検索用インデックスファイル105から取得し、RAM202に記憶させる(ステップS704)。なお、本実施形態では、文書ファイルの先頭から、終了文字列の最初の文字までの文字数を終了文字列位置情報としている。
【0038】
そして、CPU201は、ステップS704の処理において、終了文字列と一致する文字列が文字ファイル内に存在していたか否かを判断する(ステップS705)。この判断の結果、終了文字列と一致する文字列が文書ファイル内に存在しなかった場合、CPU201は、ステップS505の処理を終了して、続くステップS506の処理に移行する。
【0039】
続いて、CPU201は、以上のようにして、開始文字列位置情報と終了文字列位置情報とが共に取得された文書ファイルについて、これら開始文字列位置情報と終了文字列位置情報とを、位置情報が小さい順番から昇順にマージ(統合)し、マージした位置情報(以下、マージ位置情報と称す)をRAM202に記憶させる(ステップS706)。
【0040】
次に、CPU201は、ステップS706で作成したマージ位置情報を用いて、マージ情報内隣接位置取得処理を行う(ステップS707)。このマージ情報内隣接位置取得処理では、先ず、CPU201は、RAM202からマージ位置情報を読み出して、開始文字列と終了文字列との組合せが、文字列間文字数内に複数存在するか否かを判断する。この判断の結果、開始文字列と終了文字列との組合せが、文字列間文字数内に複数ある場合には、これら複数の開始文字列と終了文字列との組合せのうち、最も近接している開始文字列と終了文字列との組合せを、近傍検索における最適な組合せとする。一方、開始文字列と終了文字列との組合せが、文字列間文字数内に1つしかない場合には、その組合せを近傍検索における最適な組合せとする。このように最適な組合せとされた開始文字列と終了文字列との夫々の位置情報の組合せが文字列位置情報テーブル62内に格納される。これにより最適な組合せのみが選択され検索結果表示の際に検索対象文字列として強調表示する文字列がいたずらに増えることを抑止できるためより見やすい表示を提供することが可能である。
【0041】
図8は、上記のマージ情報内隣接位置取得処理(S707)の詳細を示すフローチャートである。
先ず、CPU201は、現在処理対象となっている近傍検索の検索条件(以下、近傍検索条件と称す)を図4(b)の検索条件テーブルから取得する(ステップS801)。そして、CPU201は、図7のステップS706にて作成されたマージ位置情報の先頭に検索ポインタをセットし(ステップS802)、その検索ポインタが示している文字列が、ステップS801で取得した近傍検索条件に含まれる開始文字列と一致するか否かを判定する(ステップS803)。
【0042】
この判定の結果、これらの文字列の不一致の場合、CPU201は、検索ポインタの位置を次の文字列に移動させ(ステップS804)、検索ポインタの位置がマージ位置情報の最後であるか否かを判定する(ステップS805)。この判定の結果、検索ポインタの位置がマージ位置情報の最後である場合、CPU201は、図4(b)の検索条件テーブルを参照して、次の近傍検索条件が存在するか否かを判定する(ステップS816)。この判定の結果、次の近傍検索条件が存在する場合には、次の近傍検索条件を取得し、検索ポインタをマージ位置情報の先頭に戻す(ステップS801、S802)。
【0043】
前記ステップS803において、検索ポインタが示している文字列が、ステップS801で取得した近傍検索条件の開始文字列と一致する場合、CPU201は、その検索ポインタの位置情報を開始文字列位置情報としてRAM202に記憶させた後(ステップS806)、その検索ポインタを次の文字列に移行させる(ステップS807)。続いて、CPU201は、検索ポインタの位置がマージ位置情報の最後であるか否かを判定し(ステップS808)、検索ポインタの位置がマージ位置情報の最後である場合、検索条件テーブルを参照して、次の近傍検索の検索条件が存在するか否かを判定する(ステップS816)。
【0044】
一方、ステップS808の判定において、検索ポインタの位置がマージ位置情報の最後でない場合、CPU201は、検索ポインタが示している文字列が、ステップS801で取得した近傍検索条件の開始文字列と一致するか否かを判定する(ステップS809)。この判定の結果、これらの文字列が一致する場合、CPU201は、RAM202の記録内容を書き換えて、検索ポインタの位置情報を更新する(ステップS806)。
【0045】
一方、検索ポインタが示している文字列が、ステップS801で取得した近傍検索条件の開始文字列と一致しない場合、CPU201は、検索ポインタが示している文字列が、ステップS801で取得した近傍検索条件の終了文字列と一致するか否かを判定する(ステップS810)。この判定の結果、これらの文字列が一致しない場合、CPU201は、検索ポインタを次の文字列に移動させる(ステップS807)。
【0046】
一方、検索ポインタが示している文字列が、ステップS801で取得した近傍検索条件の終了文字列と一致する場合、CPU201は、現在の検索ポインタの位置情報を終了文字列位置情報としてRAM202に記憶させる(ステップS811)。
【0047】
以上のように、ステップS806で開始文字列位置情報が記憶され、且つステップS811で終了文字列位置情報が記憶されると、CPU201は、それら開始文字列位置情報と終了文字列位置情報との間の距離(ここでは、文字数)を求め、求めた距離が、ステップS801で取得した近傍検索条件の文字列間文字数以下であるか否かを判定する(ステップS812)。
【0048】
このようにして行われるステップS812の判定の結果、開始文字列位置情報と終了文字列位置情報との間の距離が、文字列間文字数以下である場合、CPU201は、ステップS806で記憶された開始文字列位置情報と、ステップS811で記憶された終了文字列位置情報とを識別することができるように、マージ位置情報にマーキングを行う(ステップS813)。このようにマーキングされた開始文字列位置情報と終了文字列位置情報との各組合せが順次、文字列位置情報テーブル62内に格納される。
【0049】
そして、検索ポインタの位置を次の文字列に移動させ(ステップS814)、移動させた検索ポインタの位置がマージ位置情報の最後であるか否かを判定する(ステップS815)。この判定の結果、移動させた検索ポインタの位置がマージ位置情報の最後でない場合には、検索ポインタの位置がマージ位置情報の最後になるまで、ステップS803〜ステップS815の処理を繰り返し行う。
【0050】
一方、前記ステップS815において、移動させた検索ポインタの位置がマージ位置情報の最後である場合には、CPU201は、図4(b)の検索条件テーブルを参照して、次の近傍検索の検索条件が存在するか否かを判定し(ステップS816)、全ての近傍検索の検索条件について処理を行うまで、ステップS801〜ステップS816の処理を行う。こうして、全ての近傍検索の検索条件について処理を終えると、図5のステップS505の処理を終了し、続くステップS506の処理へ移行する。
【0051】
次に、図9及び図10を参照しながら、本文書検索システムによる検索結果表示方法について説明する。
【0052】
サーバ101は、検索対象となっている文書ファイル及び図6に示す当該文書ファイルに対応する文字列位置情報テーブル61、62をクライアント107に対して送信する(ステップS9101、S9102)。
【0053】
次に、クライアント107側の処理について説明するが、以下の説明において用いるハードウェア構成は全てクライアント107内に構成されるものとし、クライアント107も図2に示すサーバ101のハードウェア構成と同様の構成を有するため、ここでは各ハードウェア構成に図2の符号を付して説明する。
【0054】
クライアント107のCPU201は、通信I/Fコントローラ208を介してサーバ101から受信した文書ファイル及び文字列位置情報テーブル61、62を、外部メモリ211又はRAM202内に格納した後、CRT210(表示装置108)上に検索結果の移動表示用画面(図11)を表示させる(ステップS9201〜S9203)。
【0055】
続いて、CPU201は、検索条件テーブル(図4(b))の先頭レコード(検索条件1のレコード)を取得し、取得したレコード内の文字列項目に格納される検索対象文字列を移動対象文字列として移動対象文字列テーブル1201(図12)に記録することにより、移動対象文字列テーブル1201を初期化する(ステップS9204)。移動対象文字列テーブル1201は、図11の移動操作用画面上の移動ボタン1105〜1108により或いはジャンプ機能の開始時に初期条件で設定され、スクロール表示によりフレーム(表示領域)の先頭位置付近に表示する位置制御対象になる文字列がRAM202に格納されていることを示す。例えば、ここでは「印刷装置」がジャンプ機能による表示制御の対象として格納されているが、「プリンタ」の右横の移動ボタン1106が押下された場合には、移動対象文字列テーブル1201内において「プリンタ」が上書きされる。
【0056】
続いて、CPU201は、検索条件テーブル(図4(b))から検索条件1、2の検索対象文字列と検索条件3の検索対象文字列である開始文字列とを取得するとともに、検索条件1、2に対応する各文字列位置情報テーブル61から先頭レコードに格納される文字列位置情報と、検索条件3に対応する文字列位置情報テーブル62から先頭レコードに格納される開始文字列位置情報とを取得する。
【0057】
次に、クライアント107は、検索対象文字列と文字列位置情報、開始文字列と開始文字列位置情報とを各検索条件1〜3に夫々対応付けて、図12に示すような状態で表示位置情報テーブル1202内に格納し、表示位置情報テーブル1202を初期化する(ステップS9205)。
【0058】
続いて、クライアント107は、後述するスクロール処理を実行する(ステップS9206)。
【0059】
続いて、クライアント107は、ユーザによる図11の移動操作用画面上におけるアクションを待つ。図11の移動操作用画面上には、検索条件テーブル(図4(b))に格納される各検索条件1〜3に基づいて、各表示項目1101〜1103に夫々の検索条件を示す情報が表示されるとともに、各表示項目1101〜1104に対応して移動ボタン1105〜1108及び移動の指示を中止するための終了ボタン1109が用意されている。なお、図11の例では、1語検索の場合は検索対象文字列のみが示され、近傍検索の場合、検索対象文字列である開始文字列及び終了文字列、並びに文字列間文字数が示される。
【0060】
移動ボタン1105〜1108が押下された場合には(ステップS9207/移動ボタン)、CPU201は、押下された移動ボタンに対応する検索条件の検索対象文字列が、移動対象文字列テーブル1201内に現在格納されている移動対象文字列と一致するか否かを判定する(ステップS9208)。一方、終了ボタン1109が押下された場合には(ステップS9207/終了ボタン)、本検索結果表示処理を終了する。
【0061】
押下された移動ボタンに対応する検索条件の検索対象文字列と、移動対象文字列テーブル1201内に現在格納されている移動対象文字列とが一致する場合、CPU201は、移動対象文字列テーブル1201に現在格納されている移動対象文字列と同じ検索対象文字列の文字列位置情報を、表示位置情報テーブル1202から取得するとともに、該当する文字列位置情報テーブル61、62から次のレコードに格納される文字列位置情報を取得する(ステップS9209)。
【0062】
続いて、CPU201は、ステップS9209において文字列位置情報テーブル61、62から次のレコードに格納される文字列位置情報が取得できたか否かを判定する(ステップS9210)。次のレコードに格納される文字列位置情報が取得できたと判定された場合、CPU201は、表示位置情報テーブル1202の当該検索対象文字列に該当する項目12021に取得した文字列位置情報を格納し、項目12021を更新する(ステップS9211)。
【0063】
一方、次のレコードに格納される文字列位置情報が取得できなかったと判定された場合、CPU201は、表示位置情報テーブル1202の当該検索対象文字列に該当する項目12021に、該当する文字列位置情報テーブル61、62の先頭レコードの文字列位置情報を格納し、項目12021を更新する(ステップS9212)。
【0064】
また、ステップS9208において、押下された移動ボタンに対応する検索条件の検索対象文字列と、移動対象文字列テーブル1201内に現在格納されている移動対象文字列とが一致しないと判定された場合、CPU201は、押下された移動ボタンに対応する検索条件の検索対象文字列を新たな移動対象文字列として移動対象文字列テーブル1201に格納する(ステップS9213)。
【0065】
続いて、CPU201は、当該移動対象文字列と同じ検索対象文字列を含む検索条件に対応する文字列位置情報テーブル61、62から、先頭レコードに格納される文字列位置情報を取得し、当該移動対象文字列と同じ検索対象文字列に対応する表示位置情報テーブル1202内の項目12021に格納する(ステップS9214)。
【0066】
図10は、クライアント107のスクロール表示処理(S9206)を示すフローチャートである。本フローチャートに示される表示制御処理は、C#、Java(登録商標)Scriptで記述されたソフトウェアを用いれば、Dynamic HTML等を用いてWebブラウザアプリケーションに対して行うことが可能である。
【0067】
CPU201は、移動対象文字列テーブル1201に格納されている検索対象文字列に対応する文字列位置情報を表示位置情報テーブル1202から取得する(ステップS1001)。
【0068】
ステップS1002では、CPU201がサーバ101から受信した文書ファイルを基にHTMLデータファイルを生成するものである。ここではステップS1001で取得した文字列位置情報で示される位置に例えば<a name="hit">のアンカータグを挿入し、さらにはその位置に対して強調表示を行うタグを挿入したHTMLデータファイル(例えば「DocData.html」とする)を生成するものである。さらに表示のため、生成したHTMLデータファイルDocData.htmlとは別に<FRAMESET>、<FRAME>などのタグを用いてフレームを定義したHTMLデータファイル(例えば「Display.html」とする)を生成し、その中に文書データから生成したHTMLデータファイルDocData.htmlを読み込むようにした入れ子のHTMLデータファイルDisplay.htmlを生成するものである。また、前回文書データから生成したHTMLデータファイルがあれば破棄して、今回生成したHTMLデータファイルを表示に用いる。フレーム定義に関するHTMLデータファイルは共通に使えるので一度生成した後はそのまま流用可能である。
【0069】
ステップS1003においては、href="hit"により、文書ファイルから生成したHTMLデータファイルDocData.htmlのアンカータグ部分(<a name="hit">)を参照させることで、ブラウザ上に表示されるフレームの先頭に表示させることが可能である。
【0070】
また、変形例としては、hrefで参照させた部分からscrollTopで高さを測って変数aとして格納し、変数aを利用してscroll(x,a-y)(x、yは表示画面に対し、縦方向及び横方向へのスクロール移動量を表す固定値)のように制御することで先頭行からのオフセットを持たせることが可能である。
【0071】
ステップS1004は、実際にはブラウザアプリケーションがその機能において行うものであり、強調表示用に挿入されているタグによって強調表示がなされるものである。前述の様に、先頭行からのオフセットを持たせた場合、検索対象文字列の直前の行を視認することが可能となるため、前後の文書のつながりが把握でき、強調表示を行っている検索対象文字列が有用な情報であるかを判断しやすくなる。
【0072】
以上のようなスクロール表示制御による表示フレームの遷移を図13〜図15に示す。図13は、図11の移動操作用画面上において「印刷装置」に対応する移動ボタン1105が押下された場合の表示フレームの遷移を示している。1301は検索対象の文書ファイルであり、1302は表示フレームである。図13に示すように、「印刷装置」に対応する移動ボタン1105が押下される度に、文書ファイル1301の先頭から文字列「印刷装置」が順次検索結果として表示フレーム1302内に表示され、且つ常に表示フレーム1302内において文字列「印刷装置」が先頭位置近傍に表示されるように制御される。
【0073】
図14は、図11の移動操作用画面上において「プリンタ」に対応する移動ボタン1106が押下された場合の表示フレームの遷移を示している。1401は検索対象の文書ファイルであり、1402は表示フレームである。図14に示すように、「プリンタ」に対応する移動ボタン1106が押下される度に、文書ファイル1401の先頭から文字列「プリンタ」が順次検索結果として表示フレーム1302内に表示され、且つ常に表示フレーム1402内において文字列「プリンタ」が先頭位置近傍に表示されるように制御される。
【0074】
図15は、図11の移動操作用画面上において「給紙@20文字以内@反転」に対応する移動ボタン1107が押下された場合の表示フレームの遷移を示している。1501は検索対象の文書ファイルであり、1502は表示フレームである。図15に示すように、「給紙@20文字以内@反転」に対応する移動ボタン1107が押下される度に、文書ファイル1501の先頭から文字列間文字数が20文字の開始文字列「給紙」と終了文字列「反転」の組が順次検索結果として表示フレーム1502内に表示され、且つ常に表示フレーム1502内において開始文字列「給紙」と終了文字列「反転」の組が先頭位置近傍に表示されるように制御される。
【0075】
上記実施形態においてはサーバ101で検索機能を具備し文書データ中における検索対象文字列の存在する位置情報テーブルを生成しており、クライアント端末のソフトウェアを用いてスクロール表示のためのHTML作成を行う構成としていたが、他の実施態様としては全ての機能をサーバ101で具備し文書データと文字列情報テーブルからHTMLのデータを生成してクライアント端末に送信し、クライアント端末では送信されてくるHTMLを表示することでも実現できる。この場合、サーバ101ではクライアント端末に図11の条件一覧の画面を提供し(S9023で行った起動処理に相当する処理をサーバ101が提供)クライアントから選択された情報(パラメータ)をCGIやその他のweb技術によりサーバ101に渡すことが必要となる。他の処理では送受信処理に相当する部分がサーバ101内でローカルに行われるため省略されサーバ101内のRAMやハードディスクからのデータ読み出しにより実現され、サーバ101は結果のHTMLをクライアント端末に送信するステップを追加すればよい。ただし、クライアント端末で表示制御を行う場合のほうがシステム全体の負荷が軽減されクライアント端末からの要求に対してのレスポンスが向上できることは言うまでもない。
【0076】
また、サーバ101側では、自ら生成したHTMLデータに基づいて、図10のステップS1003及びステップS1004に示すクライアント端末と同様の表示制御を行い、サーバ101のCRT210上において検索対象文字列を表示フレームの先頭位置近傍に強調表示することも可能である。
【0077】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0078】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0079】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0080】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0081】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【0082】
【図1】本発明の一実施形態に係る文書検索システムの概略構成を示す図である。
【図2】サーバ又はクライアントのハードウェア構成を示す図である。
【図3】文書検索システムの基本的な処理を示すフローチャートである。
【図4】検索条件入力画面及び検索条件テーブルの構成例を示す図である。
【図5】全文検索処理の詳細を示すフローチャートである。
【図6】文字列位置情報テーブルの構成を示す図である。
【図7】文書検索システムによる近傍検索の概略動作を示すフローチャートである。
【図8】マージ情報内隣接位置取得処理の詳細を示すフローチャートである。
【図9】文書検索システムによる検索結果表示処理を示すフローチャートである。
【図10】文書検索システムによる検索結果表示処理を示すフローチャートである。
【図11】移動表示用画面の構成例を示す図である。
【図12】移動対象文字列テーブル及び表示位置情報テーブルの構成例を示す図である。
【図13】図11の移動操作用画面上において「印刷装置」に対応する移動ボタンが押下された場合の表示フレームの遷移を示す図である。
【図14】図11の移動操作用画面上において「プリンタ」に対応する移動ボタンが押下された場合の表示フレームの遷移を示す図である。
【図15】図11の移動操作用画面上において「給紙@20文字以内@反転」に対応する移動ボタンが押下された場合の表示フレームの遷移を示す図である。
【符号の説明】
【0083】
101:サーバ
102:メモリ
103:検索/表示プログラム
104:文書データベース
105:全文検索用インデックスファイル
106:ネットワーク
107:クライアント
108:表示装置
109:入力装置
201:CPU
202:RAM
203:ROM
204:システムバス
205:入力コントローラ
206:ビデオコントローラ
207:メモリコントローラ
208:通信I/Fコントローラ
209:キーボード
210:CRT
211:外部メモリ
61、62:文字列位置情報テーブル
1201:移動対象文字列テーブル
1202:表示位置情報テーブル
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、検索結果表示方法、プログラム及び記録媒体に関し、特に、文書ファイルの検索を行うために用いて好適なものである。
【背景技術】
【0002】
近年、全文検索技術においては、文字列の検索時、単一の検索対象文字列に対する完全一致の他に、部分一致や同義語検索、および2つの検索対象文字列とその間の距離を検索する近傍検索等、様々な検索の種類が考えられ、またその効率的な表示方法も考えられている。
【0003】
その1つとして、特許文献1には、文書データベースの全文検索結果表示方法が開示されている。特に結果表示において、完全一致、部分一致、同義語検索といった検索の種類に応じ、強調表示の種類を変えると言うものであり、これにより、検索対象文字列の確認を容易にしようとするのものである。
【0004】
また、特許文献2では、文字列検索結果の確認を容易にするため、検索対象文字列が含まれる文書部分の表示を、例えば、「章」、「節」、「段落」と言う文書内容とは独立した、文書構造に着目し、指定した文書構造内に含まれる検索対象文字列を、順次表示するといった方法が開示されている。
【0005】
【特許文献1】特開平10−269233号公報
【特許文献2】特開平8−161349号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、コンピュータを使用した文書データに対する全文検索において、上記に挙げた様な検索結果の表示方法では、異なる複数の検索対象文字列が検索結果に含まれている場合、
(1)表示が煩雑になり、確認しにくい。
(2)特定の検索対象文字列のみに着目し、文書全体を概観する事ができない。
といった問題がある。
【0007】
従って、本発明の目的は、検索対象文字列の確認を容易に行うことを可能とすることにある。
【課題を解決するための手段】
【0008】
本発明の情報処理装置は、文書検索装置において格納される文書データに対する一又は複数の検索条件を入力する検索条件入力手段と、前記検索条件入力手段により入力された前記検索条件を前記文書検索装置に対して送信する検索条件送信手段と、前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報及び前記文書データを前記文書検索装置から受信する検索結果受信手段と、表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記位置情報に基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群に含まれる何れかの文字列が表示されるように制御する表示制御手段とを有することを特徴とする。
【0009】
本発明の情報処理装置は、格納している文書データに対する文字列を含む一又は複数の検索条件を入力する検索条件入力手段と、前記検索条件入力手段により入力された前記検索条件により前記文書データを検索する検索手段と、前記検索手段による検索結果から前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報を生成する文字列位置情報生成手段と、外部から前記文字列を指定させるための文字列指定手段と、前記文字列位置情報生成手段で生成された位置情報及び前記文書データから構造化文書ファイルを生成するとともに、前記文字列指定手段により指定された文字列のうち注目されるべき位置情報を判定し、前記構造化文書ファイル内において、判定された位置に存在する文字列に対して強調表示されるための情報とスクロール制御に必要な情報とを付加する構造化文書ファイル生成手段と、前記構造化文書ファイルに基づいて表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記構造化文書ファイル内における前記強調表示されるための情報と前記スクロール制御に必要な情報とに基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群のうち該当する文字列が強調表示されるように制御する表示制御手段とを有することを特徴とする。
【0010】
本発明の情報処理システムは、格納している文書データに対する検索機能を有する文書検索装置と前記文書検索装置からデータを受信して検索結果の表示を行う情報処理装置とを含む情報処理システムであって、前記文書検索装置は、文字列を含む一又は複数の検索条件を入力する検索条件入力手段と、前記検索条件入力手段により入力された前記検索条件により前記文書データを検索する検索手段と、前記検索手段による前記検索結果から前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報を生成する文字列位置情報生成手段とを有し、前記情報処理装置は、外部から前記文字列を指定させるための文字列指定手段と、前記文字列位置情報生成手段で生成された位置情報及び前記文書データから構造化文書ファイルを生成するとともに、前記文字列指定手段により指定された文字列のうち注目されるべき位置情報を判定し、前記構造化文書ファイル内において、判定された位置に存在する文字列に対して強調表示されるための情報とスクロール制御に必要な情報とを付加する構造化文書ファイル生成手段と、前記構造化文書ファイルに基づいて表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記構造化文書ファイル内における前記強調表示されるための情報と前記スクロール制御に必要な情報とに基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群のうち該当する文字列が強調表示されるように制御する表示制御手段とを有することを特徴とする。
【0011】
本発明の検索結果表示方法は、情報処理装置による検索結果表示方法であって、文書検索装置において格納される文書データに対する一又は複数の検索条件を入力する検索条件入力ステップと、前記検索条件入力ステップにて入力された前記検索条件を前記文書検索装置に対して送信する検索条件送信ステップと、前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報及び前記文書データを前記文書検索装置から受信する検索結果受信ステップと、表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記位置情報に基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群に含まれる何れかの文字列が表示されるように制御する表示制御ステップとを含むことを特徴とする。
【0012】
本発明の検索結果表示方法は、格納している文書データに対する検索機能を有する文書検索装置と前記文書検索装置からデータを受信して検索結果の表示を行う情報処理装置とを含む情報処理システムによる検索結果表示方法であって、格納している文書データに対する一又は複数の文字列を含む検索条件を入力する検索条件入力ステップと、前記検索条件入力ステップにより入力された前記検索条件により前記文書データを検索する検索ステップと、前記検索ステップによる検索結果から前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報を生成する文字列位置情報生成ステップと、外部から前記文字列を指定させるための文字列指定ステップと、前記文字列位置情報生成ステップで生成された位置情報及び前記文書データから構造化文書ファイルを生成するとともに、前記文字列指定ステップにより指定された文字列のうち注目されるべき位置情報を判定し、前記構造化文書ファイル内において、判定された位置に存在する文字列に対して強調表示されるための情報とスクロール制御に必要な情報とを付加する構造化文書ファイル生成ステップと、前記構造化文書ファイルに基づいて表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記構造化文書ファイル内における前記強調表示されるための情報と前記スクロール制御に必要な情報とに基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群のうち該当する文字列が強調表示されるように制御する表示制御ステップとを含むことを特徴とする。
【0013】
本発明のプログラムは、前記検索結果表示方法をコンピュータに実行させることを特徴とする。
【0014】
本発明のコンピュータ読み取り可能な記録媒体は、前記プログラムを記録したことを特徴とする。
【発明の効果】
【0015】
本発明によれば、表示手段上における文書データの表示領域を切り換える際には、表示領域内に属する文書データの先頭位置近傍に検索対象文字列が表示されるように構成したので、検索対象文字列を視認する際にはユーザの視線の位置を表示領域の先頭位置近傍とすればよく、検索対象文字列の確認を容易に行うことが可能となる。
【発明を実施するための最良の形態】
【0016】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0017】
図1は、本発明の一実施形態に係る文書検索システムの概略構成を示す図である。サーバ101は、データを一時保存するためのメモリ102、文字列(キーワード)検索の対象となる複数の文書ファイル(SGMLフォーマット、XMLフォーマット等の文書)を格納した文書データベース104、文書データベース104に格納された文書ファイルに対する文字列の検索を行い、検索結果位置が判別できるよう文書ファイルに編集を加えた表示情報を作成するための検索/表示プログラム103、及び、文字列検索の高速化を図るための文字列(キーワード)位置情報が格納された全文検索用インデックスファイル105を備える。
【0018】
メモリ102は、図2に示すサーバ101のハードウェア構成上のRAM202内に構成され、文書データベース104、検索/表示プログラム103及び全文検索用インデックスファイル105は、外部メモリ211内に構成される。尚、文書データベース104および全文検索用インデックスファイル105は通信が可能であれば、ネットワーク106に接続しているサーバ101以外のサーバ上に構成されていてもよい。サーバ101はネットワーク106を介してクライアント107とデータの送受信が可能である。
【0019】
クライアント107は、検索条件の入力と検索結果の表示を行うためのプログラム又はWebブラウザを搭載する。また、クライアント107は、ネットワーク106を介してサーバ101とのデータの送受信が可能である。図1ではネットワーク106に接続するクライアントは1つのみであるが、複数接続していても良い。また、図1に示すネットワーク106上における各種装置の接続構成は飽くまで一例であり、用途や目的に応じて様々な接続構成があり得る。
【0020】
図2は、サーバ101のハードウェア構成を示す図である。CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで各種動作を実現するものである。
【0021】
また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。ビデオコントローラ(VC)206は、CRTディスプレイ(CRT)210等の表示器への表示を制御する。表示器はCRTだけでなく、液晶ディスプレイでも構わない。メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフレキシブルディスク或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0022】
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0023】
検索/表示プログラム103は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。なお、クライアント107は、サーバ101と同様のハードウェア構成を有し、サーバ101と通信してCGI(Common Gateway Interface)等を用いてサーバ101に検索条件を送信し、また検索結果のデータをHTML形式のデータファイルとしてサーバ101から受信してブラウザアプリケーションで表示する。
【0024】
図3は、本実施形態に係る文書検索システムの基本的な処理フローを示す図であり、本文書検索システムの処理は、検索条件入力処理(ステップS301)、検索条件に基づく全文検索処理(ステップS302)、及び、全文検索結果に基づく結果表示処理(ステップS303)の3つに大きく分けられる。
【0025】
図4は、クライアント107の表示装置108上に表示される検索条件入力画面の構成例(図4(a))、及び、検索条件入力画面上で入力された検索条件がクライアント107からサーバ101に対して送信され、サーバ101のRAM202内において格納された状態の検索条件テーブルの構成例(図4(b))を示す図である。なお、図4(b)に示す検索条件テーブルは、検索条件入力画面上での入力内容に基づきクライアント107内においても保持される。
【0026】
図3の1番目の処理ステップである検索条件入力処理(ステップS301)では、クライアント107の表示装置108上に表示される検索条件入力画面(図4(a))を用いてユーザによって入力された検索条件(401〜405)が、検索実行ボタン406の押下によりCGIなどを用いてサーバ101に送信され、サーバ101がこれらの検索条件を受信する。図4(a)に示す例では、1文字以上の文字列を検索対象とする検索条件401、402、及び、1文字以上の文字列で開始され(以下、この文字列を開始文字列と称す)、1文字以上の文字列で終了し(以下、この文字列を終了文字列と称す)、且つそれらの2つの文字列間の文字数が指定数(以下、この指定数を文字列間文字数と称す)以下である近傍検索の検索条件403が設定されている。以下、1文字以上の文字列を検索対象とする検索処理を1語検索と称す。
【0027】
サーバ101は、受信した検索条件を検索条件テーブル内に図4(b)に示すような状態で格納する。即ち、図4(b)に示す検索条件テーブル内には、図4(a)に示す検索条件入力画面上における検索条件1入力項目401、検索条件2入力項目402及び検索条件入力項目403で入力された内容が、各検索条件番号(1〜3)に対応して格納される。なお、図4(b)に示す検索条件テーブル上では、「1文字列」が1語検索、「2文字列近傍20」が2つの文字列間の文字数が20文字以下の近傍検索であることを示しており、検索条件1の検索対象文字列が「印刷装置」、検索条件2の検索対象文字列が「プリンタ、検索条件3の検索対象文字列が「給紙(開始文字列)」、「反転(終了文字列)」であることを示している。
【0028】
図5は、図3の2番目の処理ステップである全文検索処理(ステップS302)の詳細を示すフローチャートである。図5に示す処理が実行されることにより、検索結果の表示時に使用される各検索対象文字列の位置情報が全文検索用インデックスファイル105から取得され、図6に示す文字列位置情報テーブル内に格納される。
【0029】
まず、サーバ101のCPU201は、通信I/Fコントローラ208を介してクライアント107から受信した検索条件が全文検索であるか否かを判定し(ステップS501)、全文検索で無い場合、本実施形態に係る検索結果表示方法を実行せず、処理を終了する。
【0030】
一方、検索条件が全文検索であった場合、CPU201はさらにその検索条件が1語検索の検索条件であるか、近傍検索の検索条件であるかを判定する(ステップS502)。
【0031】
1語検索の検索条件である場合(ステップS502/1語検索)、CPU201は全文検索用インデックス105から、検索対象文字列の文書ファイル内における位置情報を当該文書ファイルの先頭から検索し(ステップS503)、検索した順序で図6の文字列位置情報テーブル61内に先頭から登録していく(ステップS504)。なお、この文字列位置情報テーブル61は1語検索の検索条件毎に生成され、ここでは、各検索条件(検索条件1、検索条件2)に対応して2つの文字列位置情報テーブル61が生成されることになる。
【0032】
一方、近傍検索の検索条件である場合(ステップS502/近傍検索)、後述の図7及び図8のフローチャートに示される処理によって、近傍検索の検索対象文字列(開始文字列、終了文字列)の文書ファイル内における位置情報を格納する文字列位置情報テーブル62(図6)が作成される。文字列位置情報テーブル62も近傍検索の検索条件毎に生成され、ここでは、検索条件3に対応して1つの文字列位置情報テーブル62が生成されることになる。
【0033】
ステップS504又はステップS505に続くステップS506においては、CPU201は、検索条件判定(ステップS501)を図4(b)に格納される全検索条件に対して行なったか否かを判定し(ステップS506)、図4(b)に格納される全検索条件に対してステップS501の検索条件判定を繰返し行うことで、各検索条件に含まれる検索対象文字列の位置情報を図6の文字列位置情報テーブル61、62に格納することができる。
【0034】
図7は、図5のステップS505の詳細を示すフローチャートであり、文書検索システムによる近傍検索の概略動作を示している。
【0035】
先ず、CPU201は、現在処理対象となっている近傍検索の検索条件を検索条件テーブル(図4(b))から取得し(ステップS701)、当該検索条件の開始文字列と一致する文字列が存在している位置に関する情報(以下、開始文字列位置情報と称す)を全文検索用インデックスファイル105から取得し、RAM202に記憶させる(ステップS702)。なお、本実施形態では、文書ファイルの先頭から、開始文字列の最初の文字までの文字数を開始文字列位置情報としている。
【0036】
そして、CPU201は、開始文字列と一致する文字列が文書ファイル内に存在していたか否かを判断する(ステップS703)。この判断の結果、開始文字列と一致する文字列が文書ファイル内に存在していなかった場合、CPU201は、ステップS505の処理を終了して、続くステップS506の処理に移行する。
【0037】
こうして、ステップS703において、開始文字列と一致する文字列が文書ファイル内に存在していたと判断すると、CPU201は、当該検索条件の終了文字列と一致する文字列が存在している位置に関する情報(以下、終了文字列位置情報と称す)を全文検索用インデックスファイル105から取得し、RAM202に記憶させる(ステップS704)。なお、本実施形態では、文書ファイルの先頭から、終了文字列の最初の文字までの文字数を終了文字列位置情報としている。
【0038】
そして、CPU201は、ステップS704の処理において、終了文字列と一致する文字列が文字ファイル内に存在していたか否かを判断する(ステップS705)。この判断の結果、終了文字列と一致する文字列が文書ファイル内に存在しなかった場合、CPU201は、ステップS505の処理を終了して、続くステップS506の処理に移行する。
【0039】
続いて、CPU201は、以上のようにして、開始文字列位置情報と終了文字列位置情報とが共に取得された文書ファイルについて、これら開始文字列位置情報と終了文字列位置情報とを、位置情報が小さい順番から昇順にマージ(統合)し、マージした位置情報(以下、マージ位置情報と称す)をRAM202に記憶させる(ステップS706)。
【0040】
次に、CPU201は、ステップS706で作成したマージ位置情報を用いて、マージ情報内隣接位置取得処理を行う(ステップS707)。このマージ情報内隣接位置取得処理では、先ず、CPU201は、RAM202からマージ位置情報を読み出して、開始文字列と終了文字列との組合せが、文字列間文字数内に複数存在するか否かを判断する。この判断の結果、開始文字列と終了文字列との組合せが、文字列間文字数内に複数ある場合には、これら複数の開始文字列と終了文字列との組合せのうち、最も近接している開始文字列と終了文字列との組合せを、近傍検索における最適な組合せとする。一方、開始文字列と終了文字列との組合せが、文字列間文字数内に1つしかない場合には、その組合せを近傍検索における最適な組合せとする。このように最適な組合せとされた開始文字列と終了文字列との夫々の位置情報の組合せが文字列位置情報テーブル62内に格納される。これにより最適な組合せのみが選択され検索結果表示の際に検索対象文字列として強調表示する文字列がいたずらに増えることを抑止できるためより見やすい表示を提供することが可能である。
【0041】
図8は、上記のマージ情報内隣接位置取得処理(S707)の詳細を示すフローチャートである。
先ず、CPU201は、現在処理対象となっている近傍検索の検索条件(以下、近傍検索条件と称す)を図4(b)の検索条件テーブルから取得する(ステップS801)。そして、CPU201は、図7のステップS706にて作成されたマージ位置情報の先頭に検索ポインタをセットし(ステップS802)、その検索ポインタが示している文字列が、ステップS801で取得した近傍検索条件に含まれる開始文字列と一致するか否かを判定する(ステップS803)。
【0042】
この判定の結果、これらの文字列の不一致の場合、CPU201は、検索ポインタの位置を次の文字列に移動させ(ステップS804)、検索ポインタの位置がマージ位置情報の最後であるか否かを判定する(ステップS805)。この判定の結果、検索ポインタの位置がマージ位置情報の最後である場合、CPU201は、図4(b)の検索条件テーブルを参照して、次の近傍検索条件が存在するか否かを判定する(ステップS816)。この判定の結果、次の近傍検索条件が存在する場合には、次の近傍検索条件を取得し、検索ポインタをマージ位置情報の先頭に戻す(ステップS801、S802)。
【0043】
前記ステップS803において、検索ポインタが示している文字列が、ステップS801で取得した近傍検索条件の開始文字列と一致する場合、CPU201は、その検索ポインタの位置情報を開始文字列位置情報としてRAM202に記憶させた後(ステップS806)、その検索ポインタを次の文字列に移行させる(ステップS807)。続いて、CPU201は、検索ポインタの位置がマージ位置情報の最後であるか否かを判定し(ステップS808)、検索ポインタの位置がマージ位置情報の最後である場合、検索条件テーブルを参照して、次の近傍検索の検索条件が存在するか否かを判定する(ステップS816)。
【0044】
一方、ステップS808の判定において、検索ポインタの位置がマージ位置情報の最後でない場合、CPU201は、検索ポインタが示している文字列が、ステップS801で取得した近傍検索条件の開始文字列と一致するか否かを判定する(ステップS809)。この判定の結果、これらの文字列が一致する場合、CPU201は、RAM202の記録内容を書き換えて、検索ポインタの位置情報を更新する(ステップS806)。
【0045】
一方、検索ポインタが示している文字列が、ステップS801で取得した近傍検索条件の開始文字列と一致しない場合、CPU201は、検索ポインタが示している文字列が、ステップS801で取得した近傍検索条件の終了文字列と一致するか否かを判定する(ステップS810)。この判定の結果、これらの文字列が一致しない場合、CPU201は、検索ポインタを次の文字列に移動させる(ステップS807)。
【0046】
一方、検索ポインタが示している文字列が、ステップS801で取得した近傍検索条件の終了文字列と一致する場合、CPU201は、現在の検索ポインタの位置情報を終了文字列位置情報としてRAM202に記憶させる(ステップS811)。
【0047】
以上のように、ステップS806で開始文字列位置情報が記憶され、且つステップS811で終了文字列位置情報が記憶されると、CPU201は、それら開始文字列位置情報と終了文字列位置情報との間の距離(ここでは、文字数)を求め、求めた距離が、ステップS801で取得した近傍検索条件の文字列間文字数以下であるか否かを判定する(ステップS812)。
【0048】
このようにして行われるステップS812の判定の結果、開始文字列位置情報と終了文字列位置情報との間の距離が、文字列間文字数以下である場合、CPU201は、ステップS806で記憶された開始文字列位置情報と、ステップS811で記憶された終了文字列位置情報とを識別することができるように、マージ位置情報にマーキングを行う(ステップS813)。このようにマーキングされた開始文字列位置情報と終了文字列位置情報との各組合せが順次、文字列位置情報テーブル62内に格納される。
【0049】
そして、検索ポインタの位置を次の文字列に移動させ(ステップS814)、移動させた検索ポインタの位置がマージ位置情報の最後であるか否かを判定する(ステップS815)。この判定の結果、移動させた検索ポインタの位置がマージ位置情報の最後でない場合には、検索ポインタの位置がマージ位置情報の最後になるまで、ステップS803〜ステップS815の処理を繰り返し行う。
【0050】
一方、前記ステップS815において、移動させた検索ポインタの位置がマージ位置情報の最後である場合には、CPU201は、図4(b)の検索条件テーブルを参照して、次の近傍検索の検索条件が存在するか否かを判定し(ステップS816)、全ての近傍検索の検索条件について処理を行うまで、ステップS801〜ステップS816の処理を行う。こうして、全ての近傍検索の検索条件について処理を終えると、図5のステップS505の処理を終了し、続くステップS506の処理へ移行する。
【0051】
次に、図9及び図10を参照しながら、本文書検索システムによる検索結果表示方法について説明する。
【0052】
サーバ101は、検索対象となっている文書ファイル及び図6に示す当該文書ファイルに対応する文字列位置情報テーブル61、62をクライアント107に対して送信する(ステップS9101、S9102)。
【0053】
次に、クライアント107側の処理について説明するが、以下の説明において用いるハードウェア構成は全てクライアント107内に構成されるものとし、クライアント107も図2に示すサーバ101のハードウェア構成と同様の構成を有するため、ここでは各ハードウェア構成に図2の符号を付して説明する。
【0054】
クライアント107のCPU201は、通信I/Fコントローラ208を介してサーバ101から受信した文書ファイル及び文字列位置情報テーブル61、62を、外部メモリ211又はRAM202内に格納した後、CRT210(表示装置108)上に検索結果の移動表示用画面(図11)を表示させる(ステップS9201〜S9203)。
【0055】
続いて、CPU201は、検索条件テーブル(図4(b))の先頭レコード(検索条件1のレコード)を取得し、取得したレコード内の文字列項目に格納される検索対象文字列を移動対象文字列として移動対象文字列テーブル1201(図12)に記録することにより、移動対象文字列テーブル1201を初期化する(ステップS9204)。移動対象文字列テーブル1201は、図11の移動操作用画面上の移動ボタン1105〜1108により或いはジャンプ機能の開始時に初期条件で設定され、スクロール表示によりフレーム(表示領域)の先頭位置付近に表示する位置制御対象になる文字列がRAM202に格納されていることを示す。例えば、ここでは「印刷装置」がジャンプ機能による表示制御の対象として格納されているが、「プリンタ」の右横の移動ボタン1106が押下された場合には、移動対象文字列テーブル1201内において「プリンタ」が上書きされる。
【0056】
続いて、CPU201は、検索条件テーブル(図4(b))から検索条件1、2の検索対象文字列と検索条件3の検索対象文字列である開始文字列とを取得するとともに、検索条件1、2に対応する各文字列位置情報テーブル61から先頭レコードに格納される文字列位置情報と、検索条件3に対応する文字列位置情報テーブル62から先頭レコードに格納される開始文字列位置情報とを取得する。
【0057】
次に、クライアント107は、検索対象文字列と文字列位置情報、開始文字列と開始文字列位置情報とを各検索条件1〜3に夫々対応付けて、図12に示すような状態で表示位置情報テーブル1202内に格納し、表示位置情報テーブル1202を初期化する(ステップS9205)。
【0058】
続いて、クライアント107は、後述するスクロール処理を実行する(ステップS9206)。
【0059】
続いて、クライアント107は、ユーザによる図11の移動操作用画面上におけるアクションを待つ。図11の移動操作用画面上には、検索条件テーブル(図4(b))に格納される各検索条件1〜3に基づいて、各表示項目1101〜1103に夫々の検索条件を示す情報が表示されるとともに、各表示項目1101〜1104に対応して移動ボタン1105〜1108及び移動の指示を中止するための終了ボタン1109が用意されている。なお、図11の例では、1語検索の場合は検索対象文字列のみが示され、近傍検索の場合、検索対象文字列である開始文字列及び終了文字列、並びに文字列間文字数が示される。
【0060】
移動ボタン1105〜1108が押下された場合には(ステップS9207/移動ボタン)、CPU201は、押下された移動ボタンに対応する検索条件の検索対象文字列が、移動対象文字列テーブル1201内に現在格納されている移動対象文字列と一致するか否かを判定する(ステップS9208)。一方、終了ボタン1109が押下された場合には(ステップS9207/終了ボタン)、本検索結果表示処理を終了する。
【0061】
押下された移動ボタンに対応する検索条件の検索対象文字列と、移動対象文字列テーブル1201内に現在格納されている移動対象文字列とが一致する場合、CPU201は、移動対象文字列テーブル1201に現在格納されている移動対象文字列と同じ検索対象文字列の文字列位置情報を、表示位置情報テーブル1202から取得するとともに、該当する文字列位置情報テーブル61、62から次のレコードに格納される文字列位置情報を取得する(ステップS9209)。
【0062】
続いて、CPU201は、ステップS9209において文字列位置情報テーブル61、62から次のレコードに格納される文字列位置情報が取得できたか否かを判定する(ステップS9210)。次のレコードに格納される文字列位置情報が取得できたと判定された場合、CPU201は、表示位置情報テーブル1202の当該検索対象文字列に該当する項目12021に取得した文字列位置情報を格納し、項目12021を更新する(ステップS9211)。
【0063】
一方、次のレコードに格納される文字列位置情報が取得できなかったと判定された場合、CPU201は、表示位置情報テーブル1202の当該検索対象文字列に該当する項目12021に、該当する文字列位置情報テーブル61、62の先頭レコードの文字列位置情報を格納し、項目12021を更新する(ステップS9212)。
【0064】
また、ステップS9208において、押下された移動ボタンに対応する検索条件の検索対象文字列と、移動対象文字列テーブル1201内に現在格納されている移動対象文字列とが一致しないと判定された場合、CPU201は、押下された移動ボタンに対応する検索条件の検索対象文字列を新たな移動対象文字列として移動対象文字列テーブル1201に格納する(ステップS9213)。
【0065】
続いて、CPU201は、当該移動対象文字列と同じ検索対象文字列を含む検索条件に対応する文字列位置情報テーブル61、62から、先頭レコードに格納される文字列位置情報を取得し、当該移動対象文字列と同じ検索対象文字列に対応する表示位置情報テーブル1202内の項目12021に格納する(ステップS9214)。
【0066】
図10は、クライアント107のスクロール表示処理(S9206)を示すフローチャートである。本フローチャートに示される表示制御処理は、C#、Java(登録商標)Scriptで記述されたソフトウェアを用いれば、Dynamic HTML等を用いてWebブラウザアプリケーションに対して行うことが可能である。
【0067】
CPU201は、移動対象文字列テーブル1201に格納されている検索対象文字列に対応する文字列位置情報を表示位置情報テーブル1202から取得する(ステップS1001)。
【0068】
ステップS1002では、CPU201がサーバ101から受信した文書ファイルを基にHTMLデータファイルを生成するものである。ここではステップS1001で取得した文字列位置情報で示される位置に例えば<a name="hit">のアンカータグを挿入し、さらにはその位置に対して強調表示を行うタグを挿入したHTMLデータファイル(例えば「DocData.html」とする)を生成するものである。さらに表示のため、生成したHTMLデータファイルDocData.htmlとは別に<FRAMESET>、<FRAME>などのタグを用いてフレームを定義したHTMLデータファイル(例えば「Display.html」とする)を生成し、その中に文書データから生成したHTMLデータファイルDocData.htmlを読み込むようにした入れ子のHTMLデータファイルDisplay.htmlを生成するものである。また、前回文書データから生成したHTMLデータファイルがあれば破棄して、今回生成したHTMLデータファイルを表示に用いる。フレーム定義に関するHTMLデータファイルは共通に使えるので一度生成した後はそのまま流用可能である。
【0069】
ステップS1003においては、href="hit"により、文書ファイルから生成したHTMLデータファイルDocData.htmlのアンカータグ部分(<a name="hit">)を参照させることで、ブラウザ上に表示されるフレームの先頭に表示させることが可能である。
【0070】
また、変形例としては、hrefで参照させた部分からscrollTopで高さを測って変数aとして格納し、変数aを利用してscroll(x,a-y)(x、yは表示画面に対し、縦方向及び横方向へのスクロール移動量を表す固定値)のように制御することで先頭行からのオフセットを持たせることが可能である。
【0071】
ステップS1004は、実際にはブラウザアプリケーションがその機能において行うものであり、強調表示用に挿入されているタグによって強調表示がなされるものである。前述の様に、先頭行からのオフセットを持たせた場合、検索対象文字列の直前の行を視認することが可能となるため、前後の文書のつながりが把握でき、強調表示を行っている検索対象文字列が有用な情報であるかを判断しやすくなる。
【0072】
以上のようなスクロール表示制御による表示フレームの遷移を図13〜図15に示す。図13は、図11の移動操作用画面上において「印刷装置」に対応する移動ボタン1105が押下された場合の表示フレームの遷移を示している。1301は検索対象の文書ファイルであり、1302は表示フレームである。図13に示すように、「印刷装置」に対応する移動ボタン1105が押下される度に、文書ファイル1301の先頭から文字列「印刷装置」が順次検索結果として表示フレーム1302内に表示され、且つ常に表示フレーム1302内において文字列「印刷装置」が先頭位置近傍に表示されるように制御される。
【0073】
図14は、図11の移動操作用画面上において「プリンタ」に対応する移動ボタン1106が押下された場合の表示フレームの遷移を示している。1401は検索対象の文書ファイルであり、1402は表示フレームである。図14に示すように、「プリンタ」に対応する移動ボタン1106が押下される度に、文書ファイル1401の先頭から文字列「プリンタ」が順次検索結果として表示フレーム1302内に表示され、且つ常に表示フレーム1402内において文字列「プリンタ」が先頭位置近傍に表示されるように制御される。
【0074】
図15は、図11の移動操作用画面上において「給紙@20文字以内@反転」に対応する移動ボタン1107が押下された場合の表示フレームの遷移を示している。1501は検索対象の文書ファイルであり、1502は表示フレームである。図15に示すように、「給紙@20文字以内@反転」に対応する移動ボタン1107が押下される度に、文書ファイル1501の先頭から文字列間文字数が20文字の開始文字列「給紙」と終了文字列「反転」の組が順次検索結果として表示フレーム1502内に表示され、且つ常に表示フレーム1502内において開始文字列「給紙」と終了文字列「反転」の組が先頭位置近傍に表示されるように制御される。
【0075】
上記実施形態においてはサーバ101で検索機能を具備し文書データ中における検索対象文字列の存在する位置情報テーブルを生成しており、クライアント端末のソフトウェアを用いてスクロール表示のためのHTML作成を行う構成としていたが、他の実施態様としては全ての機能をサーバ101で具備し文書データと文字列情報テーブルからHTMLのデータを生成してクライアント端末に送信し、クライアント端末では送信されてくるHTMLを表示することでも実現できる。この場合、サーバ101ではクライアント端末に図11の条件一覧の画面を提供し(S9023で行った起動処理に相当する処理をサーバ101が提供)クライアントから選択された情報(パラメータ)をCGIやその他のweb技術によりサーバ101に渡すことが必要となる。他の処理では送受信処理に相当する部分がサーバ101内でローカルに行われるため省略されサーバ101内のRAMやハードディスクからのデータ読み出しにより実現され、サーバ101は結果のHTMLをクライアント端末に送信するステップを追加すればよい。ただし、クライアント端末で表示制御を行う場合のほうがシステム全体の負荷が軽減されクライアント端末からの要求に対してのレスポンスが向上できることは言うまでもない。
【0076】
また、サーバ101側では、自ら生成したHTMLデータに基づいて、図10のステップS1003及びステップS1004に示すクライアント端末と同様の表示制御を行い、サーバ101のCRT210上において検索対象文字列を表示フレームの先頭位置近傍に強調表示することも可能である。
【0077】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0078】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0079】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0080】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0081】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【0082】
【図1】本発明の一実施形態に係る文書検索システムの概略構成を示す図である。
【図2】サーバ又はクライアントのハードウェア構成を示す図である。
【図3】文書検索システムの基本的な処理を示すフローチャートである。
【図4】検索条件入力画面及び検索条件テーブルの構成例を示す図である。
【図5】全文検索処理の詳細を示すフローチャートである。
【図6】文字列位置情報テーブルの構成を示す図である。
【図7】文書検索システムによる近傍検索の概略動作を示すフローチャートである。
【図8】マージ情報内隣接位置取得処理の詳細を示すフローチャートである。
【図9】文書検索システムによる検索結果表示処理を示すフローチャートである。
【図10】文書検索システムによる検索結果表示処理を示すフローチャートである。
【図11】移動表示用画面の構成例を示す図である。
【図12】移動対象文字列テーブル及び表示位置情報テーブルの構成例を示す図である。
【図13】図11の移動操作用画面上において「印刷装置」に対応する移動ボタンが押下された場合の表示フレームの遷移を示す図である。
【図14】図11の移動操作用画面上において「プリンタ」に対応する移動ボタンが押下された場合の表示フレームの遷移を示す図である。
【図15】図11の移動操作用画面上において「給紙@20文字以内@反転」に対応する移動ボタンが押下された場合の表示フレームの遷移を示す図である。
【符号の説明】
【0083】
101:サーバ
102:メモリ
103:検索/表示プログラム
104:文書データベース
105:全文検索用インデックスファイル
106:ネットワーク
107:クライアント
108:表示装置
109:入力装置
201:CPU
202:RAM
203:ROM
204:システムバス
205:入力コントローラ
206:ビデオコントローラ
207:メモリコントローラ
208:通信I/Fコントローラ
209:キーボード
210:CRT
211:外部メモリ
61、62:文字列位置情報テーブル
1201:移動対象文字列テーブル
1202:表示位置情報テーブル
【特許請求の範囲】
【請求項1】
文書検索装置において格納される文書データに対する一又は複数の検索条件を入力する検索条件入力手段と、
前記検索条件入力手段により入力された前記検索条件を前記文書検索装置に対して送信する検索条件送信手段と、
前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報及び前記文書データを前記文書検索装置から受信する検索結果受信手段と、
表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記位置情報に基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群に含まれる何れかの文字列が表示されるように制御する表示制御手段とを有することを特徴とする情報処理装置。
【請求項2】
前記表示制御手段は、前記文字列群のうち前記文書データの先頭に近い位置の文字列から順次、前記表示領域内に属する前記文書データの先頭位置近傍に表示されるように制御することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記表示制御手段は、前記検索条件から一の検索条件を指定するための検索条件指定画面を前記表示手段上に表示させ、前記文字列群のうち、前記検索条件指定画面上で指定された一の検索条件に合致する文字列を、前記表示領域内に属する前記文書データの先頭位置近傍に表示させるように制御することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記表示制御手段は、他の文字列と比べ前記文字列群を強調表示するように制御することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項5】
格納している文書データに対する文字列を含む一又は複数の検索条件を入力する検索条件入力手段と、
前記検索条件入力手段により入力された前記検索条件により前記文書データを検索する検索手段と、
前記検索手段による検索結果から前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報を生成する文字列位置情報生成手段と、
外部から前記文字列を指定させるための文字列指定手段と、
前記文字列位置情報生成手段で生成された位置情報及び前記文書データから構造化文書ファイルを生成するとともに、前記文字列指定手段により指定された文字列のうち注目されるべき位置情報を判定し、前記構造化文書ファイル内において、判定された位置に存在する文字列に対して強調表示されるための情報とスクロール制御に必要な情報とを付加する構造化文書ファイル生成手段と、
前記構造化文書ファイルに基づいて表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記構造化文書ファイル内における前記強調表示されるための情報と前記スクロール制御に必要な情報とに基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群のうち該当する文字列が強調表示されるように制御する表示制御手段とを有することを特徴とする情報処理装置。
【請求項6】
格納している文書データに対する検索機能を有する文書検索装置と前記文書検索装置からデータを受信して検索結果の表示を行う情報処理装置とを含む情報処理システムであって、
前記文書検索装置は、
文字列を含む一又は複数の検索条件を入力する検索条件入力手段と、
前記検索条件入力手段により入力された前記検索条件により前記文書データを検索する検索手段と、
前記検索手段による前記検索結果から前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報を生成する文字列位置情報生成手段とを有し、
前記情報処理装置は、
外部から前記文字列を指定させるための文字列指定手段と、
前記文字列位置情報生成手段で生成された位置情報及び前記文書データから構造化文書ファイルを生成するとともに、前記文字列指定手段により指定された文字列のうち注目されるべき位置情報を判定し、前記構造化文書ファイル内において、判定された位置に存在する文字列に対して強調表示されるための情報とスクロール制御に必要な情報とを付加する構造化文書ファイル生成手段と、
前記構造化文書ファイルに基づいて表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記構造化文書ファイル内における前記強調表示されるための情報と前記スクロール制御に必要な情報とに基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群のうち該当する文字列が強調表示されるように制御する表示制御手段とを有することを特徴とする情報処理システム。
【請求項7】
情報処理装置による検索結果表示方法であって、
文書検索装置において格納される文書データに対する一又は複数の検索条件を入力する検索条件入力ステップと、
前記検索条件入力ステップにて入力された前記検索条件を前記文書検索装置に対して送信する検索条件送信ステップと、
前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報及び前記文書データを前記文書検索装置から受信する検索結果受信ステップと、
表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記位置情報に基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群に含まれる何れかの文字列が表示されるように制御する表示制御ステップとを含むことを特徴とする検索結果表示方法。
【請求項8】
格納している文書データに対する検索機能を有する文書検索装置と前記文書検索装置からデータを受信して検索結果の表示を行う情報処理装置とを含む情報処理システムによる検索結果表示方法であって、
格納している文書データに対する一又は複数の文字列を含む検索条件を入力する検索条件入力ステップと、
前記検索条件入力ステップにより入力された前記検索条件により前記文書データを検索する検索ステップと、
前記検索ステップによる検索結果から前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報を生成する文字列位置情報生成ステップと、
外部から前記文字列を指定させるための文字列指定ステップと、
前記文字列位置情報生成ステップで生成された位置情報及び前記文書データから構造化文書ファイルを生成するとともに、前記文字列指定ステップにより指定された文字列のうち注目されるべき位置情報を判定し、前記構造化文書ファイル内において、判定された位置に存在する文字列に対して強調表示されるための情報とスクロール制御に必要な情報とを付加する構造化文書ファイル生成ステップと、
前記構造化文書ファイルに基づいて表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記構造化文書ファイル内における前記強調表示されるための情報と前記スクロール制御に必要な情報とに基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群のうち該当する文字列が強調表示されるように制御する表示制御ステップとを含むことを特徴とする検索結果表示方法。
【請求項9】
請求項7又は8に記載の検索結果表示方法をコンピュータに実行させるためのプログラム。
【請求項10】
請求項9に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項1】
文書検索装置において格納される文書データに対する一又は複数の検索条件を入力する検索条件入力手段と、
前記検索条件入力手段により入力された前記検索条件を前記文書検索装置に対して送信する検索条件送信手段と、
前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報及び前記文書データを前記文書検索装置から受信する検索結果受信手段と、
表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記位置情報に基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群に含まれる何れかの文字列が表示されるように制御する表示制御手段とを有することを特徴とする情報処理装置。
【請求項2】
前記表示制御手段は、前記文字列群のうち前記文書データの先頭に近い位置の文字列から順次、前記表示領域内に属する前記文書データの先頭位置近傍に表示されるように制御することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記表示制御手段は、前記検索条件から一の検索条件を指定するための検索条件指定画面を前記表示手段上に表示させ、前記文字列群のうち、前記検索条件指定画面上で指定された一の検索条件に合致する文字列を、前記表示領域内に属する前記文書データの先頭位置近傍に表示させるように制御することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記表示制御手段は、他の文字列と比べ前記文字列群を強調表示するように制御することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
【請求項5】
格納している文書データに対する文字列を含む一又は複数の検索条件を入力する検索条件入力手段と、
前記検索条件入力手段により入力された前記検索条件により前記文書データを検索する検索手段と、
前記検索手段による検索結果から前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報を生成する文字列位置情報生成手段と、
外部から前記文字列を指定させるための文字列指定手段と、
前記文字列位置情報生成手段で生成された位置情報及び前記文書データから構造化文書ファイルを生成するとともに、前記文字列指定手段により指定された文字列のうち注目されるべき位置情報を判定し、前記構造化文書ファイル内において、判定された位置に存在する文字列に対して強調表示されるための情報とスクロール制御に必要な情報とを付加する構造化文書ファイル生成手段と、
前記構造化文書ファイルに基づいて表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記構造化文書ファイル内における前記強調表示されるための情報と前記スクロール制御に必要な情報とに基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群のうち該当する文字列が強調表示されるように制御する表示制御手段とを有することを特徴とする情報処理装置。
【請求項6】
格納している文書データに対する検索機能を有する文書検索装置と前記文書検索装置からデータを受信して検索結果の表示を行う情報処理装置とを含む情報処理システムであって、
前記文書検索装置は、
文字列を含む一又は複数の検索条件を入力する検索条件入力手段と、
前記検索条件入力手段により入力された前記検索条件により前記文書データを検索する検索手段と、
前記検索手段による前記検索結果から前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報を生成する文字列位置情報生成手段とを有し、
前記情報処理装置は、
外部から前記文字列を指定させるための文字列指定手段と、
前記文字列位置情報生成手段で生成された位置情報及び前記文書データから構造化文書ファイルを生成するとともに、前記文字列指定手段により指定された文字列のうち注目されるべき位置情報を判定し、前記構造化文書ファイル内において、判定された位置に存在する文字列に対して強調表示されるための情報とスクロール制御に必要な情報とを付加する構造化文書ファイル生成手段と、
前記構造化文書ファイルに基づいて表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記構造化文書ファイル内における前記強調表示されるための情報と前記スクロール制御に必要な情報とに基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群のうち該当する文字列が強調表示されるように制御する表示制御手段とを有することを特徴とする情報処理システム。
【請求項7】
情報処理装置による検索結果表示方法であって、
文書検索装置において格納される文書データに対する一又は複数の検索条件を入力する検索条件入力ステップと、
前記検索条件入力ステップにて入力された前記検索条件を前記文書検索装置に対して送信する検索条件送信ステップと、
前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報及び前記文書データを前記文書検索装置から受信する検索結果受信ステップと、
表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記位置情報に基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群に含まれる何れかの文字列が表示されるように制御する表示制御ステップとを含むことを特徴とする検索結果表示方法。
【請求項8】
格納している文書データに対する検索機能を有する文書検索装置と前記文書検索装置からデータを受信して検索結果の表示を行う情報処理装置とを含む情報処理システムによる検索結果表示方法であって、
格納している文書データに対する一又は複数の文字列を含む検索条件を入力する検索条件入力ステップと、
前記検索条件入力ステップにより入力された前記検索条件により前記文書データを検索する検索ステップと、
前記検索ステップによる検索結果から前記検索条件に合致する一又は複数の文字列群の前記文書データ内における位置情報を生成する文字列位置情報生成ステップと、
外部から前記文字列を指定させるための文字列指定ステップと、
前記文字列位置情報生成ステップで生成された位置情報及び前記文書データから構造化文書ファイルを生成するとともに、前記文字列指定ステップにより指定された文字列のうち注目されるべき位置情報を判定し、前記構造化文書ファイル内において、判定された位置に存在する文字列に対して強調表示されるための情報とスクロール制御に必要な情報とを付加する構造化文書ファイル生成ステップと、
前記構造化文書ファイルに基づいて表示手段上において前記文書データを表示させるとともに、前記表示手段上における前記文書データの表示領域を切り換える際には、前記構造化文書ファイル内における前記強調表示されるための情報と前記スクロール制御に必要な情報とに基づいて、前記表示領域内に属する前記文書データの先頭位置近傍に前記文字列群のうち該当する文字列が強調表示されるように制御する表示制御ステップとを含むことを特徴とする検索結果表示方法。
【請求項9】
請求項7又は8に記載の検索結果表示方法をコンピュータに実行させるためのプログラム。
【請求項10】
請求項9に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2006−18392(P2006−18392A)
【公開日】平成18年1月19日(2006.1.19)
【国際特許分類】
【出願番号】特願2004−193324(P2004−193324)
【出願日】平成16年6月30日(2004.6.30)
【出願人】(390002761)キヤノン販売株式会社 (656)
【Fターム(参考)】
【公開日】平成18年1月19日(2006.1.19)
【国際特許分類】
【出願日】平成16年6月30日(2004.6.30)
【出願人】(390002761)キヤノン販売株式会社 (656)
【Fターム(参考)】
[ Back to top ]