JP2007299021A - インデクス更新方法及びそのシステム - Google Patents

インデクス更新方法及びそのシステム Download PDF

Info

Publication number
JP2007299021A
JP2007299021A JP2006123763A JP2006123763A JP2007299021A JP 2007299021 A JP2007299021 A JP 2007299021A JP 2006123763 A JP2006123763 A JP 2006123763A JP 2006123763 A JP2006123763 A JP 2006123763A JP 2007299021 A JP2007299021 A JP 2007299021A
Authority
JP
Japan
Prior art keywords
index
information
data
item
temporary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006123763A
Other languages
English (en)
Other versions
JP5108252B2 (ja
Inventor
Naoki Inoue
尚樹 井上
Kenichi Chatani
謙一 茶谷
Yukio Nakano
幸生 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006123763A priority Critical patent/JP5108252B2/ja
Priority to EP07250463A priority patent/EP1850250A1/en
Priority to US11/702,494 priority patent/US20070255771A1/en
Publication of JP2007299021A publication Critical patent/JP2007299021A/ja
Application granted granted Critical
Publication of JP5108252B2 publication Critical patent/JP5108252B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/328Management therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists

Abstract

【課題】シングルスレッド・シングルプロセスで文書インデクスの更新を実行する環境においても、レスポンスの低下を抑制できる文書インデクス更新システムを提供すること
【解決手段】インデクス更新システムは、登録対象のデータ及びこのデータに対応する識別子を格納する蓄積用一時領域112と、インデクスを格納するインデクス格納領域110とを備え、インデクス更新システムの演算部102が、入力された登録対象のデータ及びこのデータに対応する識別子を、蓄積用一時領域112に格納し、蓄積用一時領域112に格納されたデータに含まれる所定の検索情報からなる索引項目と、この索引項目に対応した識別子を含んだ索引情報とを作成し、索引項目単位で、作成した索引項目及びこれに対応した索引情報をインデクスとしてインデクス格納領域110に格納するインデクス更新方法。
【選択図】図1

Description

本発明は、検索用のインデクスを更新する方法に関し、特に大量の文書から、指定した文字列を含む文書を検索するフルテキストサーチのための文書インデクスの更新に好適に適用できるインデクス更新方法及びそのシステムに関する。
大規模な文書データベースから指定された検索文字列が含まれる文書を高速に検索する方式として、文書インデクスを用いるものが知られている。文書インデクスには、文書に対する複数のキーワードとなる索引項目と、各々の索引項目に対するこの文書を識別する文書識別子や文字位置などの情報である索引情報とが記録されている。この文書インデクスはあらかじめ作成しておく必要があり、文書インデクスの作成時には、全文書のデータを参照する必要がある。
ここで、文書を追加登録したり、登録済みの文書を更新・削除したりする場合、それに応じて文書インデクスも変更する必要がある。文書インデクスの変更を行う際、すべての文書を対象に文書インデクスを作り直すと、非常に大量のデータを処理する必要がある。
このため、変更が必要になった部分のみを書き換える処理を行う。これを文書インデクスの更新と呼ぶ。文書インデクスの更新では、文書インデクスの中で変更される索引項目ごとに索引情報を書き込む必要があり、大量のディスクI/Oが発生するため、文書データベースの登録・更新・削除処理のレスポンスが悪くなるという問題がある。
この問題を解決するため、特許文献1には、文書インデクスを更新する際に、小規模全文索引に登録し、その後で大規模全文索引にデータ転送する方法を用いるマージ処理が開示されている。特許文献1によると、小規模全文索引の更新に必要な時間は大規模全文索引の更新に必要な時間より短いため、更新時に小規模全文索引に登録することで更新のために必要な時間を短くすることが可能である。しかしながら、特許文献1に記載の方法では、小規模全文索引の大きさが更新によって徐々に大きくなる。小規模全文索引の大きさが大きくなると、小規模全文索引に文書を登録するために必要な時間が増えてしまう。このため、小規模全文索引を用いる利点を保つためには、定期的なマージ処理が必須である。
また、特許文献1に記載のマージ処理を、文書の検索、登録、更新、削除処理と非同期で実行する場合、文書の登録、更新、削除に必要な時間は、小規模全文索引を更新する時間とほぼ等しくなるため、レスポンスは向上する。しかし、アプリケーションとリンクして使用する場合のように、シングルスレッド・シングルプロセスでしか実行できない場合には、マージ処理は、文書を登録、更新、削除するタイミングで実行する必要が生じる。このとき、特許文献1に記載のマージ処理では、大規模全文索引に小規模全文索引にあるすべての情報を書き込む必要があるため、非常に多くの時間が必要となる。
すなわち、シングルスレッド・シングルプロセスで特許文献1に記載のマージ処理を実行する環境において、まれに登録、更新、削除のレスポンスが非常に悪くなってしまうという問題がある。
特開2003−122794号公報(段落0056〜0058,図1)
したがって、本発明が解決しようとする課題は、アプリケーションとリンクして使用する場合のように、シングルスレッド・シングルプロセスで文書インデクスの更新を実行する環境においても、レスポンスの低下を抑制できる手段を提供することである。
前記の課題を達成するために、本発明に係るインデクス更新方法は、指定された検索情報を含むデータを、データ群から検索するためのインデクスを格納するインデクス更新システムの演算部が、入力された登録対象のデータ及びこれに対応する識別子を、蓄積用一時領域に格納し、このデータに含まれる所定の検索情報からなる索引項目と、この索引項目に対応した識別子を含んだ索引情報とを作成し、索引項目単位で、作成した索引項目及びこれに対応する索引情報をインデクスに格納することを特徴としている。
本発明のその他の態様については、後記する実施の形態において詳しく説明する。
本発明によると、シングルスレッド・シングルプロセスで検索用のインデクスの更新を実行する環境においても、レスポンスの低下を抑制できる。
以下、本発明を実施するための最良の形態(以下、実施形態と称す)を、添付した図面を参照しつつ、詳細に説明する。なお、以下で説明する実施形態では、インデクスの作成、更新の対象となるデータを文書データとしたが、本発明はこれに限定されるものではなく、データに含まれる情報から検索項目を抽出して、インデクスを作成可能なデータであれば、様々なデータを対象に適用可能である。例えば、画像データを入力データとして、この画像データに含まれる色情報から、画像データを検索するためのインデクスにも適用可能である。
[第1実施形態]
図1は、本発明の第1の実施形態に係る文書検索システムの構成を示す図面である。本実施形態に係る文書検索システムでは、ユーザから入力された文書である文書情報の主インデクス110への登録・削除と、入力された文書情報から、ユーザから入力された文字を含む文書情報の検索を行う。
本実施形態の文書検索システムは、検索結果を表示するディスプレイ100、文書情報の登録、削除及び検索のコマンドを入力するキーボード101、後記する各プログラムを実行することで、登録処理、削除処理及び検索処理を実行するCPU(Central Processing Unit)102、登録用及び検索用のプログラム、並びに入出力されるデータなどを一時的に格納する主記憶装置105、各データおよび各プログラムを格納する二次記憶装置104及びこれらを接続するバス103を含んで構成される。
なお、CPU102は特許請求の範囲の演算部に相当している。
主記憶装置105には、システム制御プログラム120に加え、登録用のプログラムとして文書登録プログラム121、インデクス反映プログラム135、反映種類決定プログラム130、索引情報作成プログラム131、主インデクス反映プログラム132及びインデクス登録プログラム133が、また、検索用のプログラムとして文書検索プログラム122及びインデクス検索プログラム134が二次記憶装置104から読み出されている。
さらに、主記憶装置105には、削除用のプログラムとして文書削除プログラム125及びインデクス削除プログラム136が、また、各処理で用いるプログラムとして索引項目作成プログラム123が、二次記憶装置104から読み出されるとともに、各データを一時的に格納するワークエリア124が確保されている。
また、二次記憶装置104には、主インデクス110、種類リスト111、蓄積用一時領域112、反映用一時領域113、削除リスト115及び各種プログラム格納領域114の各領域が設定されている。
ここで、主インデクス110とは、検索で使用する文書インデクス本体である。また、種類リスト111とは、主インデクス110に対し、書き込む必要のある索引を格納するものである。また、蓄積用一時領域112とは、主インデクス110の索引を更新する前に、一時的に必要な文書情報を格納するためのものである。また、反映用一時領域113とは、主インデクス110の索引を更新する元の文書情報を格納するためのものである。また、削除リスト115とは、主インデクス110から削除された文書情報を識別する文書識別子を記録しておくものである。
次に、二次記憶装置104に設定された各領域に格納される情報について詳しく説明する。ここで、図2は、主インデクス110を説明するための図面である。図2に示すように、主インデクス110は、索引項目200と、この索引項目200に対応する索引情報210とから構成される。
次に、図3は、種類リスト111を説明するための図面である。図3に示すように、種類リスト111は、索引項目300と、それに対応する反映情報310とから構成される。この種類リスト111は、反映用一時領域113から主インデクス110へ書き込んだ索引情報を識別するために使用される。
また、図4は、蓄積用一時領域112を説明するための図面である。図4に示すように、蓄積用一時領域112は、文書識別子400とそれに対応する文書情報410とから構成される。蓄積用一時領域112は、登録する文書情報を一時的に格納するために使用される。
なお、本実施形態では、反映用一時領域113は、この蓄積用一時領域112と同じ構成であるため、その説明は省略する。反映用一時領域113は、主インデクス110へ書き込む文書情報を一時的に格納するために使用される。
次に、図5は、削除リスト115を説明するための図面である。図5に示すように、削除リスト115には、文書情報の文書識別子500が格納されている。この文書識別子500は、主インデクス110、蓄積用一時領域112または反映用一時領域113から削除する文書情報を特定するために使用される。
次に、主記憶装置105に格納された各プログラムについて説明する。まず、システム制御プログラム120は、ディスプレイ100、キーボード101を用いたユーザ出入力の制御を行い、その他の各プログラムの実行を制御する。
また、文書登録プログラム121は、システム制御プログラム120から実行され、インデクス反映プログラム135及びインデクス登録プログラム133を実行することで、ユーザが入力した文書情報の登録処理を行う。また、インデクス反映プログラム135は、文書登録プログラム121から実行され、主インデクス110を更新する。この際、反映種類決定プログラム130、索引情報作成プログラム131、及び主インデクス反映プログラム132を使用する。
ここで、インデクス反映プログラム135が使用するプログラムのうち、反映種類決定プログラム130は、種類リスト111を使用して、主インデクス110に書き込むべき索引項目を決定する。また、索引情報作成プログラム131は、反映用一時領域113を使用して、主インデクス110に書き込む索引情報を作成する。さらに、主インデクス反映プログラム132は、反映種類決定プログラム130及び索引情報作成プログラム131で作成された索引項目及び索引情報を使用して、主インデクス110を更新する。
また、インデクス登録プログラム133は、文書登録プログラム121から実行され、ユーザが入力した文書情報を蓄積用一時領域112に書き込み、蓄積用一時領域112があふれた場合には種類リスト111を作成し、蓄積用一時領域112を反映用一時領域113と交換し、蓄積用一時領域112の内容を削除する。
また、文書検索プログラム122は、システム制御プログラム120から実行され、インデクス検索プログラム134を使用して、ユーザが入力した検索したい文字である検索文字列に応じた検索対象の文書情報を検索する。また、インデクス検索プログラム134は、文書検索プログラム122から実行され、主インデクス110、蓄積用一時領域112、反映用一時領域113及び削除リスト115を使用して、検索の対象となる文書情報を検索する。
さらに、文書削除プログラム125は、システム制御プログラム120から実行され、インデクス削除プログラム136を使用して文書情報を削除する。このインデクス削除プログラム136は、削除リスト115に削除対象の文書識別子を書き込むことで、主インデクス110から削除対象の文書の索引項目を削除する。
なお、二次記憶装置104に格納される各情報の生成手順、及び主記憶装置105に格納されたプログラムの詳細な動作手順については後記する。
(文書登録の手順)
次に、図1を参照しつつ、本実施形態における文書登録時の処理の概要について説明する(適宜、図2〜図5参照)。
図1に示した文書検索システムのキーボード101から入力されるコマンドにより起動したシステム制御プログラム120は、文書登録プログラム121を起動し、文書の登録処理を開始する。
ここで、文書登録プログラム121は、キーボード101から入力された登録対象の文書である文書情報及びこの文書情報に対応する文書識別子を読み込み、読み込んだ文書情報及び文書識別子を使用して主インデクス110を更新する。
ここで、図6は、本実施形態における文書登録プログラム121の処理手順を示すPAD(Problem Analysis Diagram)である。図6を参照しつつ、文書登録プログラム121の処理手順を説明する。
まず、文書登録プログラム121は、キーボード101から入力されたすべての登録対象の文書である文書情報及びこの文書情報に対応する一意な文書識別子に対し、ステップ12101から12104までに示す一連の処理を繰り返し実行する(ステップ12100)。
このとき、ステップ12101では、キーボード101から入力された登録対象の文書情報群から未処理の文書情報を1個選択し、この文書情報及びこれに対応する文書識別子を主記憶装置105上のワークエリア124に格納する。そして、文書登録プログラム121は、ステップ12103において、インデクス登録プログラム133を実行する。このインデクス登録プログラム133は、ワークエリア124に格納された登録対象の文書情報を、二次記憶装置104上の蓄積用一時領域112に書き込む。
次に、文書登録プログラム121は、ステップ12104において、インデクス反映プログラム135を実行する。
ここで、インデクス反映プログラム135は、反映用一時領域113に格納された文書情報に対応する索引項目の中で、主インデクス110に書き込んでいない索引項目から0個、1個または複数個の索引項目を選択し、主インデクス110中の索引項目200及び索引情報210を読み込み、選択した索引項目と対応する索引情報を追加し、主インデクス110の索引情報に書き込むことで、索引項目に対応する索引情報を更新して、文書登録プログラム121の処理は終了する。
次に、図6における、ステップ12103及びステップ12104の処理におけるインデクス反映プログラム135及びインデクス登録プログラム133の処理手順について詳しく説明する。
ここで、図7は、インデクス反映プログラム135の処理手順を示すPADである。図7を参照しつつ、インデクス反映プログラム135の処理手順を説明する。
まず、インデクス反映プログラム135は、ステップ13500において、反映種類決定プログラム130を実行する。この反映種類決定プログラム130は、ワークエリア124に読み込まれた登録対象の文書情報に対し、二次記憶装置104の種類リスト111、蓄積用一時領域112、及び反映用一時領域113を参照することにより、ステップ13502の処理を行うために必要な、主インデクス110中で更新する索引項目の種類である反映索引項目種類を決定し、主記憶装置105のワークエリア124に格納する。これにより、主インデクス110に反映する反映索引項目種類が選択される。
次に、ステップ13501において、インデクス反映プログラム135は、索引情報作成プログラム131を実行する。索引情報作成プログラム131は、ワークエリア124にある、すべての反映索引項目種類に対し、索引情報を作成する。ワークエリア124に格納された反映索引項目種類と、反映用一時領域113とを参照することで、ステップ13502の処理を行うために必要な、反映索引項目種類に対応した索引情報を作成し、主記憶装置105のワークエリア124に格納する。
最後に、ステップ13502において、インデクス反映プログラム135は、主インデクス反映プログラム132を実行する。主インデクス反映プログラム132は、ワークエリア124に格納された、反映索引項目種類と、各反映索引項目種類に対応する索引情報とを用いて、二次記憶装置104上の主インデクス110及び種類リスト111を更新する。以上の手順により、インデクス反映プログラム135の処理が終了する。
次に、前記のステップ13500で実行される反映種類決定プログラム130の詳細な処理手順について説明する。ここで、図8は、反映種類決定プログラム130の処理手順を示すPADである。
まず、反映種類決定プログラム130は、ステップ13000において、主インデクス110の中で更新する索引項目の個数である反映索引項目個数を計算し、ワークエリア124に格納する。
ここで、主インデクス110に書き込む反映索引項目個数(後記の数式中では、Cで表す)は、蓄積用一時領域112に書き込めるデータ量(後記の数式中は、Nで表す)、蓄積用一時領域112に書き込み済みの文書のデータ量(後記の数式中は、Iで表す)、登録対象の文書のデータ量(後記の数式中は、nで表す)、種類リスト111中の索引項目の個数(後記の数式中は、Pで表す)、種類リスト111中で主インデクス110に書き込み済みの索引項目の個数(後記の数式中は、Mで表す)を用いて定める。
例えば、‘↑↑’を、その中の式の値を含む最小の整数を表すとした場合、C=↑P×(n÷N)↑やC=MAX(↑P×((I+n)÷N)↑−M,0)、C=↑(P−M)×n÷(N−I)↑等のように、蓄積用一時領域112に登録対象の文書情報が入りきらなくなった時点で、種類リスト111の索引項目300が、すべて書き込み済みになるような個数に決定する。
次に、ステップ13001において、計算した反映索引項目個数が、種類リスト111の反映情報310のうち、主インデクス110に書き込み済みでないことを示す「False」を有する個数より大きいか否かを判定する。すなわち、反映索引項目個数が、主インデクス110に書き込まれていない索引項目の個数より大きいか否かを判定する。
ここで、反映索引項目個数が、種類リスト111の反映情報310のうち、書き込み済みでない個数より大きい場合には、ステップ13002を実行し、大きくない場合にはステップ13002は実行せず、ステップ13003に進む。
このステップ13002では、反映索引項目個数を、種類リスト111の反映情報310の中で、主インデクス110に書き込み済みでない索引の個数と同じ個数に変更することで、反映索引項目個数が種類リスト111の反映情報310の中で書き込み済みでない索引の個数より大きくならないようにする。
最後に、ステップ13003において、種類リスト111の索引項目300の中から、反映索引項目個数分の書き込み済みでない索引項目を選択し、ワークエリア124に、この選択した索引項目を反映索引項目種類として格納して、反映種類決定プログラム130の処理が終了する。
次に、図7のPADに示したインデクス反映プログラム135のステップ13500において実行される、主インデクス反映プログラム132の詳細な処理手順について説明する。ここで、図9は、主インデクス反映プログラム132の処理手順を示すPADである。
まず、主インデクス反映プログラム132は、ステップ13200として、ワークエリア124にある、すべての反映索引項目種類に対し、ステップ13201から13204までに示す一連の処理を繰り返し実行する。
以下、ステップ13201から13204の処理を説明する。
ステップ13201では、二次記憶装置104上の主インデクス110にある索引項目200の中で、反映索引項目種類の要素に対応する索引情報210を取得して、ワークエリア124に読み込む。ただし、主インデクス110に対応する索引項目が存在しない場合は、空の情報をワークエリア124に読み込む。
そして、ステップ13202において、ステップ13201でワークエリア124に読み込んだ索引情報に対し、インデクス反映プログラム135のステップ13501(図7参照)で作成した反映索引項目種類に対応する索引情報を追加し、ワークエリア124に格納する。
次に、ステップ13203において、ステップ13202で格納した、ワークエリア124上の索引情報を、ステップ13201で使用した索引情報に加えて、主インデクス110に登録する。ただし、主インデクス110に対応する索引項目が存在しない場合は、主インデクス110の索引項目200に、索引情報の要素のみを追加する。
最後に、ステップ13204において、種類リスト111上の、反映索引項目種類に対応する反映情報310を書き込み済みである情報「True」に書き換えて、主インデクス反映プログラム132の処理が終了する。
次に、図6のPADに示した文書登録プログラム121のステップ12103で実行されるインデクス登録プログラム133の詳細な処理手順について説明する。ここで、図10は、インデクス登録プログラム133の処理手順を示すPADである。
まず、インデクス登録プログラム133は、ステップ13300において、蓄積用一時領域112に対し、ワークエリア124中の、登録対象の文書情報を書き込むための空き領域があるか否かを判定する。ここで、蓄積用一時領域112に登録対象の文書情報を書き込むための空き領域がある場合には、ステップ13301を実行して、蓄積用一時領域112に登録対象の文書情報を書き込む。
一方、蓄積用一時領域112に登録対象の文書情報を書き込むための空き領域が無い場合には、ステップ13302からステップ13306を実行する。
以下、ステップ13302からステップ13306の処理について説明する。
まず、インデクス登録プログラム133は、ステップ13302において、蓄積用一時領域112と、反映用一時領域113とに格納された情報を入れ替える。そして、ステップ13303において、蓄積用一時領域112上の文書識別子400及び文書情報410をすべて削除する。
次に、ステップ13304では、反映用一時領域113をワークエリア124に格納し、格納した情報に対し、索引項目作成プログラム123を実行して索引項目を作成し、この作成した索引項目をワークエリア124に格納する。このとき、索引項目作成プログラム123は、ワークエリア124上にあるプログラムの実行対象の文書情報を用い、索引項目となる部分文字列を作成し、作成した索引項目をワークエリア124に格納する。さらに、ワークエリア124に格納されたすべての索引項目と、各々の索引項目が書き込んでいない状態であることを示す情報「False」とを作成して、種類リスト111に書き込む。
次に、ステップ13305において、インデクス反映プログラム135(図7参照)を実行し、反映用一時領域113を利用して、主インデクス110を部分的に更新する。
最後に、ステップ13306において、蓄積用一時領域112に、ワークエリア124上の登録対象の文情報書及び文書識別子を書き込んで、インデクス登録プログラム133の処理が終了する。
本実施形態では、一時領域として、蓄積用一時領域112及び反映用一時領域113の2つを用いて実現した例を示したが、蓄積用一時領域112及び反映用一時領域113の少なくとも一方を複数に分割した、3つ以上の一時領域を用いても良い。また、蓄積用一時領域112及び反映用一時領域113を1つの領域としてまとめ、内部で論理的に異なる領域に分割するようにしても良い。
さらに、本実施形態では、1つの文書情報の入力に対してインデクス反映プログラム135を実行したが、複数回の文書情報の入力後にインデクス反映プログラム135を実行しても良い。
次に、図11は、本実施形態の登録処理における文書登録と、主インデクス110への書き込みの関係の例を示す説明図である。図11に示した説明図を参照しつつ、本実施形態の登録処理における情報の流れについて詳しく説明する。
なお、図11に示す説明図では、すでに幾つかの文書が登録され、蓄積用一時領域112及び反映用一時領域113に登録済みの文書情報が格納されている。このとき、文書検索システムの蓄積用一時領域112に格納可能な文書情報量をNとし、種類リスト111は、反映用一時領域113に登録済みの文書情報に対する索引項目をP種類であるとしている。
ここで、文書情報量nを有する文書情報の登録処理では、まず、種類リスト111の中の、まだ主インデクス110に書き込まれていない索引項目から、登録する文書情報の容量に比例した個数である‘↑P×(n÷N)↑’種類だけ索引項目を選択する。図11に示した説明図では、索引項目「生」が選択された例を示している。次に、選択した索引項目の索引情報を反映用一時領域113から作成し、主インデクス110に書き込む。本実施形態では索引項目「生」の索引情報が書き込まれたことを示している。最後に、蓄積用一時領域112に、登録する文書情報を書き込む。
この例から分かるように、文書の登録処理においては、蓄積用一時領域112への書き込みは文書単位で行われ、主インデクス110への書き込みは索引項目単位で行われる。
また、主インデクス110に書き込む索引情報の個数は、蓄積用一時領域112に書き込み可能な文書情報量と登録する文書情報量の比率よりも、種類リスト111の索引項目の数と主インデクス110へ書き込む数の比率が大きくなる値が設定される。
この索引項目の数の決定方法により、蓄積用一時領域112が一杯になるまでの間に、種類リスト111のすべての索引項目に対応する索引情報を、主インデクス110に書き込むことができる。また、種類リスト111のすべての索引項目に対応する索引情報を主インデクス110に書き込むことは、反映用一時領域113に書き込まれているすべての文書情報から作成される索引情報を主インデクス110に書き込むことと等しい。従って、蓄積用一時領域112が一杯になるまでの間に、反映用一時領域113に書き込まれている文書情報に対応する索引情報は、すべて主インデクス110に書き込むことができる。
これにより、蓄積用一時領域112が一杯になった際には、反映用一時領域113の内容を削除することができる。さらに、蓄積用一時領域112及び反映用一時領域113の大きさを固定にすることもできる。
次に、本実施形態における文書登録時の具体例に基づく処理手順について、「・・・の生物は・・・」、「・・・は生で・・・」、「・・・は・・・」、「海洋には数万種の微生物が・・・」、「陸上の生物は・・・」という文書を、別々の処理として入力された場合を例に説明する。
ここで、本実施形態における具体例における処理手順では、インデクスとして1−gramインデクスを用いることとする。1−gramインデクスとは、登録時に文書を1文字毎に区切り、区切った文字位置に対応する文書識別子と文字位置情報とを、区切った文字に対応して格納することで、文書の全文検索を高速化するものである。
計算を簡単にするために、登録される各文書の大きさは20文字であり、また、蓄積用一時領域112の容量は、1000文字登録可能であるとし、登録対象の全文書中の文字の種類は100種類とする。また、「・・・は・・・」と「海洋には数万種の微生物が・・・」との間で、これらを含めて47個の文書を登録する。つまり、「海洋には数万種の微生物が・・・」を登録するまでの間に、「・・・の生物は・・・」、「・・・は生で・・・」、「・・・は・・・」を含めて50個の文書、つまり合計1000文字分の文書情報を登録する。
まず、文書識別子「061」を有する文書「・・・の生物は・・・」が入力された場合の登録処理を説明する(適宜、図1〜図10参照)。なお、登録前には、図1に示す文書検索システムの蓄積用一時領域112、反映用一時領域113及び種類リスト111の各領域は、空である。
この登録処理では、図6のPADに示した文書登録プログラム121の処理が開始される。この段階では各々の登録対象の文書が1個であるため、図6に示すPADにおけるステップ12100の繰り返し処理は、文書「・・・の生物は・・・」のみを対象にして実行されることになる。
まず、図6に示すPADにおけるステップ12101では、文書「・・・の生物は・・・」の文書情報及び文書識別子「061」を主記憶装置105上のワークエリア124に格納する。
次に、文書登録プログラム121は、ステップ12104において、インデクス登録プログラム133を実行する。これにより、図10のインデクス登録プログラム133のPADに示したステップ13300からステップ13306が実行される。
最後に、ステップ12103において、インデクス反映プログラム135を実行する。ここで、反映用一時領域113にはデータが存在しないため、インデクス反映プログラム135は何も実行しない。
図10を参照して、インデクス登録プログラム133について説明する。まず、ステップ13300では、蓄積用一時領域112に、登録対象の文書情報が書き込める大きさがあるかどうかを判定する。ここでは、登録対象の文書情報が書き込める大きさがあるため、ステップ13301を実行する。
そして、ステップ13301において、図4に示す蓄積用一時領域112に対し、文書情報として「・・・の生物は・・・」と、文書識別子として文書識別子「061」を書き込む。これで、インデクス登録プログラム133、図6におけるステップ12103の処理が終了する。
以上が「・・・の生物は・・・」を登録した場合の処理手順である。
以上の処理を、図12に示した文書登録時の情報の流れを示した説明図を用いて説明する。文書「・・・の生物は・・・」、文書識別子「061」の登録イベント90001が発生し、これにより、蓄積用一時領域112に文書「・・・の生物は・・・」の文書情報及び文書識別子「061」が書き込まれ、蓄積用一時領域が参照符号90100で示す状態となる。
次に、「・・・の生物は・・・」の場合と同様に、「・・・は生で・・・」、「・・・は・・・」の登録処理(90002,90003)が引き続き行われる。これらの処理はイベント90001と同様であるため詳細は省略する。これにより、蓄積用一時領域112に、3つの文書情報とそれぞれの文書識別子が書き込まれ、蓄積用一時領域112は参照符号90200で示す状態になる。
同様にして、文書情報を47個登録する。これにより、合計1000文字分の文書情報が蓄積用一時領域112に登録される。
次に、蓄積用一時領域112に1000文字分の文書情報が格納された状態で、さらに、文書「海洋には数万種の微生物が・・・」を登録する処理手順を説明する。
文書「海洋には数万種の微生物が・・・」の登録では、文書「・・・の生物は・・・」の登録の場合と同様に、図6に示した文書登録プログラム121のPADのステップ12100により、ステップ12101からステップ12103を実行する。ここで、文書「海洋には数万種の微生物が・・・」の文書識別子は「092」とする。
まず、ステップ12101において、文書「海洋には数万種の微生物が・・・」の文書情報及び文書識別子「092」を主記憶装置105上のワークエリア124に格納する。
そして、ステップ12103において、インデクス登録プログラム133を実行する。このインデクス登録プログラム133では、図10に示すPADのステップ13300からステップ13306を実行する。
図10を参照して、ステップ13300では、蓄積用一時領域112に、登録対象の文書情報が書き込める大きさがあるかどうかを判定する。ここで、登録対象の文書「海洋には数万種の微生物が・・・」の大きさが20文字であり、蓄積用一時領域112の空き容量が0文字分であるため、登録対象の文書情報を書き込める大きさが無い。このため、ステップ13302からステップ13306を実行する。
まず、ステップ13302において、蓄積用一時領域112と、反映用一時領域113とに格納された情報を入れ替える。これにより、蓄積用一時領域112にあった、「・・・の生物は・・・」、「・・・は生で・・・」、「・・・は・・・」等の文書情報と、この文書情報に対応する文書識別子が、反映用一時領域113に移動する。
次に、ステップ13303において、蓄積用一時領域112にある、すなわち、今回のインデクス登録プログラム133が実行される直前に反映用一時領域113に格納されていた内容がすべて削除される。これにより、蓄積用一時領域112が空になる。
そして、ステップ13304において、反映用一時領域113にある、すなわち、今回のインデクス登録プログラム133が実行される直前に蓄積用一時領域112に格納されていた内容に対し、索引項目作成プログラム123を実行して、索引項目を取得し、すべての索引項目300の反映情報310を書き込んでいないことを示す「False」にして、種類リスト111に書き込む。このとき、反映用一時領域113には、文書「・・・の生物は・・・」,「・・・は生で・・・」,「・・・は・・・」が含まれているため、種類リストの索引項目には、「の」「生」「物」「は」「で」が含まれ、これらの索引項目に対応する索引情報はすべて、書き込んでいないことを示す「False」となる。
最後に、ステップ13306において、図4に示す蓄積用一時領域112に、参照符号411で示す文書「海洋には数万種の微生物が・・・」の文書情報と、参照符号401で示す文書識別子「092」とを書き込む。これにより、文書登録プログラム121のステップ12103が終了する。
図6に戻って、次に、文書登録プログラム121は、ステップ12104において、インデクス反映プログラム135を実行する。ここで、インデクス反映プログラム135は、図7に示したPADのステップ13500からステップ13502を実行する。
インデクス反映プログラム135はまず、ステップ13500において、反映種類決定プログラム130を実行する。反映種類決定プログラム130は、図8に示したPADのステップ13000からステップ13003を実行する。
反映種類決定プログラム130はまず、ステップ13000において、反映索引項目個数を計算し、ワークエリア124に格納する。ここで、計算式として、前記した‘C=↑P×(n÷N)↑’を用いると、反映索引項目個数の計算結果として‘2’が与えられる。
そして、ステップ13001において、反映索引項目個数と書き込んでいない索引項目の個数とを比較する。ここで、反映索引項目個数が‘2’で、書き込んでいない索引項目の個数が‘100’であるため、ステップ13002は実行されない。
最後に、ステップ13003において、反映索引項目種類を決定し、ワークエリア124に格納する。ここでは、「生」「物」を、ワークエリア124に格納する。これで、図7のPADにおける、ステップ13500の処理が終了する。
次に、図7に戻って、ステップ13501において、索引情報作成プログラム131を実行し、ワークエリア124に格納する。主インデクス110は、1−gramインデクスであるため、索引情報は、文書識別子と文字位置のペアで表される。
そして、ステップ13502において、主インデクス反映プログラム132を実行する。主インデクス反映プログラム132は、図9に示したPADのステップ13200からステップ13204を実行する。主インデクス反映プログラム132のステップ13200では、すべての反映索引項目種類について繰り返すため、「生」「物」それぞれに対し、ステップ13201からステップ13204を実行する。
まず、反映索引項目種類「生」に対応したステップ13201において、反映索引項目種類「生」に対応し、主インデクス110上の、図2に示す索引項目のうち、参照符号201の要素に対応する索引情報220を、ワークエリア124に格納する。
そして、ステップ13202において、ワークエリア124上にある、ステップ13201で読み込んだ索引情報に対し、反映索引項目種類「生」の索引情報を作成して追加する。
次に、ステップ13203において、ステップ13202で作成した索引情報を、図2に示した主インデクス110の参照符号201で示す索引項目「生」の索引情報の要素として、参照符号220で示すように書き込む。これにより、主インデクス110上の、索引項目「生」に対応する索引情報が更新される。
最後に、ステップ13204において、図3に示す種類リスト111上の、参照符号301で示す索引項目「生」に対応する、参照符号311で示す反映情報310の要素に、書き込み済みであることを示す「True」を書き込む。
同様に、ステップ13201からステップ13204を反映索引項目種類「物」に対しても行う。これで、主インデクス反映プログラム132、図7のPADおけるステップ13502の処理、および、図6のPADにおけるステップ12104の処理が終了する。これらの処理により、反映用一時領域113の内容の一部を使用して、主インデクス110の一部を更新する。
以上が、文書「海洋には数万種の微生物が・・・」を登録した場合の処理手順である。
以上の処理を、図13及び図14に示した文書登録時の情報の流れを示した説明図を用いて説明する。まず、文書「海洋には数万種の微生物が・・・」の登録イベント90004が発生し、参照符号90300で示す蓄積用一時領域112には文書「海洋には数万種の微生物が・・・」を書き込めるだけの空き容量が無いため、蓄積用一時領域112に格納された情報が、反映用一時領域113に移動され、蓄積用一時領域112及び反映用一時領域113は、それぞれ、参照符号90408及び90401で示す状態に遷移する。また、同時に参照符号90410で示される種類リスト111が作成される。
次に、図14に移って、参照符号90401で示した反映用一時領域113と、参照符号90410で示した種類リスト111に基づいて、「生」及び「物」に対応する文書識別子及び文字位置からなる索引情報220を主インデクス110に書き込む。そして、この書き込んだ種類リスト111の索引項目300に対応する反映情報310を、書き込み済みを示す「True」に書き換え(参照符号90409から参照符号90407)、蓄積用一時領域112に、参照符号90400で示すように文書「海洋には数万種の微生物が・・・」及び文書識別子「092」を書き込む。
最後に、文書「陸上の生物は・・・」を登録する場合を説明する。文書「陸上の生物は…」の登録では、図6に示した文書登録プログラム121のPADのステップ12100からステップ12104を実行する。ここで、処理手順の詳細は、文書「海洋には数万種の微生物が・・・」を登録した場合と同様であるため省略する。
次に、図15に示した文書登録時の情報の流れを示した説明図を用いて、文書「陸上の生物は・・・」を登録する手順について簡単に説明する。
まず、文書「陸上の生物は・・・」の登録イベント90005が発生し、参照符号90401で示す反映用一時領域113と、種類リスト111とを使用し、文書識別子と文字位置からなる索引情報を主インデクス110に書き込む。そして、書き込んだ種類リスト111の索引項目に対応する反映情報を、書き込み済みを示す「True」に書き替え(参照符号90412から参照符号90512)、蓄積用一時領域112に、文書「陸上の生物は・・・」の文書情報及び文書識別子「094」を書き込む。
以上が、文書「陸上の生物は・・・」の登録により処理される内容である。
以上の具体例で説明したように、蓄積用一時領域112の容量が一杯になるまでの間に、蓄積用一時領域112の使用分より、種類リスト111の書き込み済み分が大きくなるように、種類リスト111の索引項目に対応する索引情報を、反映用一時領域113から主インデクス110へ書き込む。これにより、反映用一時領域113から主インデクス110への書き込みを複数回の登録文書処理に分割することができ、1回の登録時間を短くすることができる。また、蓄積用一時領域112の使用率に対応した量を書き込むことにより、蓄積用一時領域112の容量が一杯になる前に、反映用一時領域113の内容をすべて書き込み済みにできる。
(文書検索の手順)
次に、図1を用いて本実施形態における文書検索時の処理の概要について説明する。
文書検索時には、文書検索プログラム122が実行される。文書検索プログラム122では、キーボード101から入力された検索文字列をワークエリア124に格納し、検索文字列に対し、インデクス検索プログラム134を実行し、このインデクス検索プログラム134の実行結果である文書識別子を取得し、ディスプレイ100に出力する。
次に、インデクス検索プログラム134の処理手順について詳しく説明する。ここで、図16にインデクス検索プログラム134の処理手順をPADで示す。インデクス検索プログラム134では、検索する文字列に対し、登録された主インデクス110の内容を検索し、結果となる文書識別子を返す。
まず、ステップ13400において、ワークエリア124に格納されている検索文字列を使用して主インデクス110を検索し、この検索結果の索引情報をワークエリア124に格納する。
そして、ステップ13401において、ワークエリア124に格納されている検索文字列を使用して反映用一時領域113を検索し、この検索結果の文書識別子をワークエリア124に格納する。
そして、ステップ13402において、ワークエリア124に格納されている検索文字列を使用して蓄積用一時領域112を検索し、この検索結果の文書識別子をワークエリア124に格納する。
次に、ステップ13403において、ステップ13400からステップ13402までの検索結果をすべて合わせ、重複する文書識別子があれば1つにまとめ、ワークエリア124に格納する。
最後にステップ13404において、ステップ13403でワークエリア124に格納された検索結果の文書識別子から、削除リスト115にある文書識別子を削除し、この結果をワークエリア124に格納する。そして、ステップ13404で格納した文書識別子をインデクス検索プログラム134の処理結果として返して、インデクス検索プログラム134の処理が終了する。
(文書削除の手順)
次に、図1を用いて本実施形態における文書削除時の処理の概要について説明する。
本実施形態において、文書削除時には、文書削除プログラム125が実行される。文書削除プログラム125は、インデクス削除プログラム136を使用して文書情報を削除する。このインデクス削除プログラム136は、削除リスト115に削除対象の文書識別子を書き込むことで、主インデクス110から、削除対象の文書識別子に対応する索引項目を削除し、蓄積用一時領域112または反映用一時領域から、文書識別情報に対応する文書情報を削除する。
以上が文書削除時の処理である。
(本実施形態の効果)
本実施形態では、特にアプリケーションに直接リンクされ、アプリケーションに処理が返されるまでの間に処理が必要な主インデクス110の更新処理において、レスポンスの最悪時間が少ないという効果がある。
また、各索引項目の間には、主インデクス110への書き込みの依存関係が発生しないため、マルチスレッドやバックグラウンドの環境においても、必要な排他処理を減らし、同時実行数を増やすことが可能であるという効果がある。
また、データベース等のトランザクションを使用する環境へ適用した場合は、特にコミットされた文書を、後で索引項目毎に主インデクス110へ書き込むという処理を行う場合には、更新中に障害が発生した場合においてもロールバックが必要な量を減らすことが可能になるという効果がある。
また、トランザクションを使用する環境へ適用した場合、トランザクション開始時には、蓄積用一時領域112の他に、トランザクション専用の一時領域を設け、未コミットの文書はトランザクション専用一時領域に保持し、コミット時に蓄積用一時領域112に書き込みを行っても良い。
また、本実施形態では、障害発生時にロールバックを行う場合、ロールバックのために必要なログの量が少なくなるという効果もある。
さらに、本実施形態は、文書を登録した直後から対象文書を検索結果として取得することができるため、即時更新が必要な場合においても適用が可能である。
また、本実施形態では、あらかじめ蓄積用一時領域112および反映用一時領域113の大きさを固定にすることができる。また、種類リスト111は、あらかじめ最大サイズが決まるので、主インデクス110および削除リスト115以外に、二次記憶装置104上に必要な領域の大きさをあらかじめ決めておくことができる。このため、本実施形態によれば、インデクスを使用するためにあらかじめ必要な領域を見積もることが容易になるという効果がある。
また、必要な領域を見積もることが容易であるため、種類リスト111、蓄積用一時領域112、反映用一時領域113を、他の記憶領域に格納したり、専用ハードウェア化したりすることも容易になるという効果がある。
[第2実施形態]
以下、本発明を実施するための第2の実施形態として、文書の登録時以外でもインデクス反映プログラム135を実行するようにした場合の形態について説明する。
本実施形態は、図1に示したインデクス反映プログラム135を、文書の検索時でも行うことで、登録処理のレスポンスを良くできる。このように登録時以外でもインデクス反映プログラム135を実行するために、インデクス反映プログラム135は、入力された文書情報を使用せず、既に、文書検索システムに登録済みの文書情報を使用する。
なお、本実施形態において、説明しない文書検索システムの構成は、第1実施形態の文書検索システムと同様である。また、単独の文書登録の手順及び文書削除の手順は、第1の実施形態と同様であるためその説明を省略する。
(文書検索の手順)
本実施形態における、インデクス検索プログラム134は、主インデクス110、蓄積用一時領域112、反映用一時領域113、削除リスト115を使用して、対象となる文書情報を検索し、さらに、反映用一時領域113にある文書情報の一部を主インデクス110に書き込む。
ここで、図17は、本実施形態におけるインデクス検索プログラム134の処理手順を示すPADである。図17のPADに示したインデクス検索プログラム134の処理手順を参照して、本実施形態の文書検索手順について説明する(適宜、図1〜図5参照のこと。)
まず、ステップ13400において、ワークエリア124に格納されている検索文字列を使用し、主インデクス110を検索し、この検索結果の索引情報210をワークエリア124に格納する。
そして、ステップ13411において、反映用一時領域113を検索すると同時に、検索条件に一致した索引項目に対応する索引情報を、索引情報作成プログラム131を実行することで作成する。
次に、ステップ13421において、ステップ13411で検索した索引項目及びこの索引項目に対する索引情報に対し、主インデクス反映プログラム132を実行し、主インデクス110を更新する。以上の処理を実行することで、検索処理で使われた索引項目に対応する、主インデクス110の索引情報210を更新することができる。
そして、図16のPADに示した第1の実施形態のインデクス検索プログラム134のステップ13402からステップ13404と同様の処理を行って、検索結果を出力する。
以上が、インデクス検索プログラム134の処理である。
(本実施形態の効果)
本実施形態によると、更新時に必要な主インデクス110への書き込み処理の一部を検索時に行うことで、検索処理に必要な時間をわずかに増加させることで、更新時間および更新処理のレスポンスを、大幅に短縮できるという効果がある。
また、インデクス反映プログラム135を文書検索時に実行することで、特にアプリケーションに直接リンクされ、アプリケーションの処理の延長でのみ処理可能な全文検索インデクスにおいて、アプリケーションから必要な呼び出しを減らすことができ、アプリケーション側から全文検索インデクスの更新に関する考慮を無くすことができるという効果がある。
さらに、検索文字列に対応する索引項目及び索引情報を使用し、主インデクス110を更新することで、次回以降の検索を高速化できるという効果がある。
また、第1の実施形態では登録処理の延長でのみ実施していた、索引項目の主インデクス110への更新を、検索処理時にも行うことができるため、登録時のレスポンスを向上させることができるという効果がある。また、よく使用される索引情報は、早い段階で主インデクス110に書き込むことができるため、検索が高速になるという効果もある。
なお、本実施形態においては、検索時に使用した索引項目の中で書き込んでいない索引項目をすべて更新したが、書き込む索引項目数を制限することもできる。また、本実施形態では、反映用一時領域113を検索すると同時に、検索条件に一致した索引項目に対応する索引情報を、索引情報作成プログラム131を実行することで作成することにしたが、索引情報の作成は、反映用一時領域113または蓄積用一時領域に112に格納された任意の文書情報の索引項目を用いて、索引情報を作成することができる。
[第3実施形態]
以下、本発明を実施するための第3の実施形態として、削除処理において主インデクス110から索引情報を削除するようにした場合の形態を詳細に説明する。
本実施形態では、図1に示した文書検索システムにおいて、二次記憶装置104上の削除リスト115が無い構成となる。また、蓄積用一時領域112および反映用一時領域113の構造が変更され、インデクス登録プログラム133、主インデクス反映プログラム132、文書削除プログラム125およびインデクス削除プログラム136の処理が一部変更される。
なお、その他の構成については、第1の実施形態の文書検索システムと同様であるため、その説明を省略する。
ここで、図18に、本実施形態の蓄積用一時領域112及び反映用一時領域113の構造を示す。蓄積用一時領域112および反映用一時領域113は、文書識別子400に対し、登録または削除のいずれを行ったかを示す情報が保持された登録削除情報4101と、文書情報410とを格納する構造からなる。
また、本実施形態におけるインデクス登録プログラム133は、文書情報を蓄積用一時領域112に登録対象として書き込み、主インデクス反映プログラム132は、反映種類決定プログラム130及び索引情報作成プログラム131で作成された索引項目及び索引情報と、対象が登録か削除かを示す情報とにより、主インデクス110への追加・削除を行う。
または、インデクス削除プログラム136は、文書情報を蓄積用一時領域112に削除対象として書き込み、インデクス反映プログラム135を用いて主インデクス110への追加・削除を行う。
本実施形態で、第1の実施形態から変更されるプログラムの処理を以下に示す。
文書の削除処理では、まず、キーボード101から入力される削除コマンドにより、システム制御プログラム120は文書削除プログラム125を起動する。文書削除プログラム125では、まず、キーボード101から入力された削除対象の文書情報及び文書識別子を、ワークエリア124に格納する。ここで、文書情報及び文書識別子の対応は、登録時と等しいものとする。次に、インデクス削除プログラム136を実行し、主インデクス110から、索引項目及び索引情報を削除する。以上が、本実施形態における文書削除プログラム125の処理になる。
次に、本実施形態のインデクス登録プログラム133では、図10のPADに示した第1の実施形態のインデクス登録プログラム133のステップ13301およびステップ13306における蓄積用一時領域112への登録処理において、登録対象の文書識別子と、登録処理で「登録」された情報であることを示す登録削除情報4101と、登録対象の文書情報とを併せて書き込む。
ここで、図19は、本実施形態の主インデクス反映プログラム132の処理手順を示すPADである。図19のPADに示した主インデクス反映プログラム132の処理手順を説明する。
まず、ステップ13201では、二次記憶装置104上の主インデクス110にある索引項目200の中で、反映索引項目種類の要素に対応する索引情報210を取得して、ワークエリア124に読み込む。
次に、ステップ13220により、主インデクス反映プログラム132におけるワークエリア124上の索引情報の更新では、すべての登録・削除対象の索引情報の要素に対し、追加・削除を行うステップ13221からステップ13223の処理を繰り返す。
まず、ステップ13221において、索引情報の要素が登録対象であれば、ステップ13222を実行する。このステップ13222では、ワークエリア124上の索引情報に対し、登録対象である索引情報の要素を追加する。
一方、ステップ13221において、索引情報の要素が削除対象であれば、ステップ13223を実行する。このステップ13223では、ワークエリア124上の索引情報に対し、削除対象である索引情報の要素を削除する。
次に、ステップ13203において、ステップ13220の結果、ワークエリア124に格納されている索引情報を、二次記憶装置104上の主インデクス110にある、ステップ13201で使用した索引情報に書き込む。
最後に、ステップ13204において、種類リスト111上の、反映索引項目種類に対応する反映情報310を書き込み済みである情報「True」に書き換えて、本実施形態の主インデクス反映プログラム132の処理が終了する。
次に、インデクス削除プログラム136では、始めに、図7のPADに示したインデクス反映プログラム135を実行する。ただし、インデクス反映プログラム135が実行する、反映種類決定プログラム130において、図8に示すステップ13000における、反映索引項目個数で用いる登録する文書情報の大きさとして、削除対象の文書情報の大きさを用いる。
次に、インデクス削除プログラム136は、図10のPADに示したインデクス登録プログラム133を実行する。ただし、本実施形態では、インデクス登録プログラム133において、図10のPADに示すステップ13301及びステップ13306は、削除対象の文書識別子、削除処理で追加された情報であることを示す登録削除情報、及び削除象の文書情報を、蓄積用一時領域112に書き込む。以上が、本実施形態における、インデクス削除プログラム136の処理である。
(本実施形態の効果)
以上、説明した本実施形態によれば、主インデクス110から不要なデータを削除する場合においても、キーワード毎に分割して削除することができるため、データの削除処理を高速化できるという効果がある。
なお、本実施形態では、図19のPADに示した主インデクス反映プログラム132におけるステップ13220から13223の処理において、反映用一時領域113を参照して、登録または削除を判断するが、図7に示すインデクス反映プログラム135における、ステップ13501において、索引情報を作成する際に、索引情報の要素に、登録か削除かの情報を付加することで、図19のステップ13221において、反映用一時領域113を参照せずに、索引情報の付加情報を参照して判断しても良い。
また、本実施形態では、削除対象の文書識別子を必ず蓄積用一時領域112に追加しているが、蓄積用一時領域112に削除対象の文書識別子が存在する場合は、削除対象の文書識別子および削除対象の文書情報を、蓄積用一時領域112から削除し、蓄積用一時領域112には、削除対象の文書識別子、および、削除対象の文書情報を追加しなくても良い。
また、反映用一時領域113に削除対象の文書識別子が存在する場合は、反映用一時領域113から、削除対象の文書識別子および削除対象の文書情報を削除しても良い。
ただし、反映用一時領域113においては、主インデクス110に書き込み済みの、削除対象の文書情報から作成された索引項目が存在する可能性があるため、削除対象の文書識別子および削除対象の文書情報を蓄積用一時領域112に追加する必要がある。なお、主インデクス110に書き込んでいないことが分かっている場合は、削除対象の文書識別子および削除対象の文書情報を蓄積用一時領域112に追加しなくても良い。
[第4実施形態例]
以下、本発明を実施するための第4の実施形態として、種類リスト111に索引情報を格納する場合の形態について、詳細に説明する。
ここで、図20は、本実施形態の種類リスト111を説明するための図面である。図20に示すように、本実施形態の種類リスト111は、索引項目300、反映情報310、および索引情報3002から構成される。索引項目300および反映情報310は、図3に示した第1の実施形態の種類リスト111と同じ形式である。索引情報3002は、主インデクス110が使用する索引情報210と同じ形式である。
また、本実施形態では、索引情報作成プログラム131およびインデクス登録プログラム133の処理の一部が変更される。
なお、その他の構成については、第1の実施形態の文書検索システムと同様であるため、その説明を省略する。
本実施形態の索引情報作成プログラム131は、図20に示したこの種類リスト111から索引情報を読み込み、ワークエリア124に格納する。インデクス登録プログラム133は、文書情報を蓄積用一時領域112に書き込み、蓄積用一時領域112が一杯になった場合には種類リスト111を作成し、蓄積用一時領域112の内容を削除する。
索引情報作成プログラム131における処理では、図20に示す種類リスト111の、索引項目300に対応した索引情報3002の要素を、ワークエリア124に格納する処理になる。
インデクス登録プログラム133における処理では、図10のPADに示す、ステップ13304の後に、ステップ13304で作成した種類リストに対応する索引情報を作成する処理を実行する。
(本実施形態の効果)
以上、説明した本実施形態によれば、文書を登録する処理毎に索引情報を作成する必要がなくなり、インデクスの更新を行う際のレスポンスを向上させることができるという効果がある。
なお、本実施形態では、インデクス登録プログラム133の処理中にすべての索引情報を作成するが、インデクス登録プログラム133の処理中では、索引情報の一部だけを作成し、もしくは、索引情報を作成せず、索引情報作成プログラム131において、必要になった際に、固定値、ランダム値、使用できるワークエリア124の大きさ、種類リスト111の書き込み時間、種類リスト111の大きさなどの値を用いた量だけ作成し、種類リスト111に格納しておいても良い。また、本実施形態では、種類リスト111に書き込んだ索引情報は、インデクス登録プログラム133の、図10に示すステップ13304の処理以外では削除されないが、不要な索引情報の大きさが閾値を超えた場合等の、索引情報が不要になった後の任意のタイミングで削除しても良い。
[第5実施形態]
以下、本発明を実施するための第5の実施形態として、反映用一時領域113を使用せずに、1つの蓄積用一時領域112のみを使用し、文書識別子ごとに主インデクス110に書き込んだか否かを管理する形態について、詳細に説明する。
本実施形態では、図1に示した第1の実施形態における文書検索システムにおいて、二次記憶装置104上の、反映用一時領域113が無い構成となる。また、種類リスト111の反映情報の要素に格納するデータ内容が変更される。さらに、反映種類決定プログラム130、主インデクス反映プログラム132、インデクス登録プログラム133及びインデクス検索プログラム134の処理の一部が変更される。
なお、その他の構成については、第1の実施形態の文書検索システムと同様であるため、その説明を省略する。
ここで、図21は、本実施形態における種類リスト111を説明する図面である。図21に示すように、本実施形態の種類リスト111は、図3に示した第1の実施形態の種類リスト111の反映情報310に示す「True」「False」が、図21の文書識別子3101に置き替わっている。
また、本実施形態における、反映種類決定プログラム130は、図21に示した種類リスト111を使用して、主インデクス110に書き込む索引項目を決定する。そして、主インデクス反映プログラム132は、反映種類決定プログラム130及び索引情報作成プログラム131で作成された索引項目及び索引情報を、主インデクス110に書き込む。
また、インデクス登録プログラム133は、文書登録プログラム121から実行され、文書情報を蓄積用一時領域112に書き込む。さらに、インデクス検索プログラム134は、文書検索プログラム122から実行され、主インデクス110、蓄積用一時領域112、削除リスト115を使用して、対象となる文書情報を検索する。
また、本実施形態では、図8のPADに示した第1の実施形態の反映種類決定プログラム130のステップ13003における、反映索引項目種類を格納する処理では、図21に示した種類リスト111上の文書識別子3101の中で、早く登録された文書識別子に対応する索引項目を、優先的に反映索引項目種類に決定する。
また、本実施形態では、図9のPADに示した第1の実施形態の主インデクス反映プログラム132におけるステップ13204において、図21に示した種類リスト111の索引項目300に対応する文書識別子3101には、ステップ13204を実行するまでの間に、最後に割り当てた文書識別子を書き込む。
さらに、ステップ13200の繰り返しがすべて終了した後で、種類リスト111上の反映情報3101中の、最も早く登録された文書識別子に対し、それ以前に登録された、すべての文書識別子と、この文書識別子に対応する文書情報とを、図4に示した蓄積用一時領域112上の文書識別子400及び文書情報410の中から削除する。
また、インデクス登録プログラム133における処理は、まず、図21に示した種類リスト111の索引項目300の中に、登録対象の文書から作成される索引項目が無ければ、登録対象の文書から作成される索引項目を、すべて追加する処理を行う。ここで、追加した索引項目に対応する文書識別子は、登録対象の文書に割り当てられた文書識別子を除いて、最後に割り当てた文書識別子を書き込む。次に、蓄積用一時領域112に、登録対象の文書を書き込む。
以上が、本実施形態における、インデクス登録プログラム133における処理である。
(本実施形態の効果)
以上、説明した本実施形態によれば、一時領域を複数扱う必要が無くなるため、第1の実施形態における蓄積用一時領域112および反映用一時領域113の内容を交換する必要がなくなる。このため、第1の実施形態における蓄積用一時領域112および反映用一時領域113の内容を移動する必要が無くなり、一時領域の管理が容易になるという効果がある。また、索引情報の作成を、文書登録時に分割して行うため、インデクスへの書き込みに必要な時間やメモリを少なくすることができるという効果がある。
また、本実施形態では、索引項目として作成される種類の最大数が決まっていれば、その最大数に比例した回数以内に、登録した文書が、主インデクス110に書き込まれるため、種類リスト111が無制限に大きくなることは無い。
なお、本実施形態では、蓄積用一時領域112のみを用いて実現した例で示したが、蓄積用一時領域112を複数に分割し、2つ以上の一時領域を用いても良い。
[第6実施形態]
以下、本発明を実施するための第6の実施形態として、反映用一時領域113を使用せずに、1つの蓄積用一時領域112のみを使用し、蓄積用一時領域112への登録時に索引情報を作成する形態について、詳細に説明する。
本実施形態では、図1に示した第1の実施形態の文書検索システムにおいて、二次記憶装置104の反映用一時領域113が無い構成となる。
また、種類リスト111の反映情報の要素に格納するデータの内容が、図3に示した第1の実施形態の種類リスト111の反映情報310に示す「True」「False」から、蓄積用一時領域112中の索引情報の大きさを示す情報となり、蓄積用一時領域112は、図2の主インデクス110と同じ構成を取る。
また、反映種類決定プログラム130、主インデクス反映プログラム132、インデクス登録プログラム133およびインデクス検索プログラム134の処理の一部が変更される。
なお、その他の構成については、第1の実施形態の文書検索システムと同様であるため、その説明を省略する。
次に、本実施形態における、反映種類決定プログラム130は、種類リスト111を使用して、主インデクス110に書き込む索引項目を決定する。そして、主インデクス反映プログラム132は、反映種類決定プログラム130及び索引情報作成プログラム131で作成された索引項目及び索引情報を、主インデクス110に書き込む。
また、インデクス登録プログラム133は、文書登録プログラム121から実行され、文書情報を蓄積用一時領域112に書き込む。さらにインデクス検索プログラム134は、文書検索プログラム122から実行され、主インデクス110、蓄積用一時領域112、削除リスト115を使用して、対象となる文書情報を検索する。
また、本実施形態では、図8のPADに示した第1の実施形態の反映種類決定プログラム130におけるステップ13000において、反映索引項目個数の値を固定数にすることができる。また、ステップ13003における、反映索引項目種類の決定では、種類リスト111上の反映情報の中で、最も索引情報の数が多い索引項目を、優先的に反映索引項目種類に決定する。
また、図9のPADに示した第1の実施形態の主インデクス反映プログラム132のステップ13204において、主インデクス110に書き込んだ索引項目及び索引情報に対応する、蓄積用一時領域112の、索引項目及び索引情報を削除し、種類リスト111の、索引項目と反映情報から削除する。
また、インデクス登録プログラム133における処理は、まず、種類リスト111の索引項目の中に、登録対象の文書情報から作成される索引項目が無ければ、登録対象の文書情報から作成される索引項目をすべて追加する処理を行う。ここで、追加した索引項目に対応する反映情報には、‘0’を設定する。次に、索引情報作成プログラム131を実行し、登録対象の文書情報から索引情報を作成し、蓄積用一時領域112に登録し、反映情報に追加した索引情報の大きさを記録する。以上が、本実施形態における、インデクス登録プログラム133における処理である。
(本実施形態の効果)
本実施形態によれば、一時領域を複数種扱う必要が無くなる。このため、第1の実施形態における蓄積用一時領域112及び反映用一時領域113の内容を交換する必要がなくなるため、第1の実施形態における蓄積用一時領域112及び反映用一時領域113の内容を移動する必要が無くなり、一時領域の管理が容易になるという効果がある。また、索引情報の作成を、文書登録時に分散して行うため、インデクスへの書き込みに必要な時間やメモリを少なくすることができるという効果がある。
なお、本実施形態では、蓄積用一時領域112のみを用いて実現した例で示したが、蓄積用一時領域112を複数に分割し、2つ以上の蓄積用一時領域を用いても良い。
第1の実施形態の文書検索システムの構成を示す図面である。 第1の実施形態の主インデクスを説明する図面である。 第1の実施形態の種類リストを説明する図面である。 第1の実施形態の蓄積用一時領域を説明する図面である。 第1の実施形態の削除リストを説明する図面である。 第1の実施形態の文書登録プログラムのPADを示す図面である。 第1の実施形態のインデクス反映プログラムのPADを示す図面である。 第1の実施形態の反映種類決定プログラムのPADを表す図面である。 第1の実施形態の主インデクス反映プログラムのPADを表す図面である。 第1の実施形態のインデクス登録プログラムのPADを表す図面である。 第1の実施形態の主インデクスへの書き込みを説明する図面である。 第1の実施形態の文書登録時の情報の流れを示した説明図である。 第1の実施形態の文書登録時の情報の流れを示した説明図である。 第1の実施形態の文書登録時の情報の流れを示した説明図である。 第1の実施形態の文書登録時の情報の流れを示した説明図である。 第1の実施形態のインデクス検索プログラムのPADを表す図面である。 第2の実施形態のインデクス検索プログラムのPADを表す図面である。 第3の実施形態の蓄積用一時領域及び反映用一時領域を説明する図面である。 第3の実施形態の主インデクス反映プログラムのPADを表す図面である。 第4の実施形態の種類リストを説明するための図面である。 第5の実施形態の種類リストを説明するための図面である。
符号の説明
102 CPU
104 二次記憶装置
105 主記憶装置
110 主インデクス
111 種類リスト
112 蓄積用一時領域
113 反映用一時領域
114 各種プログラム格納領域
115 削除リスト
120 システム制御プログラム
121 文書登録プログラム
122 文書検索プログラム
123 索引項目作成プログラム
124 ワークエリア
130 反映種類決定プログラム
131 索引情報生成プログラム
132 主インデクス反映プログラム
133 インデクス登録プログラム
134 インデクス検索プログラム
135 インデクス反映プログラム
136 インデクス削除プログラム

Claims (21)

  1. 入力された検索情報を含むデータを、データ群から検索するためのインデクスを格納するインデクス更新システムにおいて、前記インデクスを更新するインデクス更新方法であって、
    前記インデクス更新システムは、登録対象のデータ及びこのデータに対応する識別子を格納する蓄積用一時領域と、前記インデクスを格納するインデクス格納領域とを備え、
    前記インデクス更新システムの演算部が、
    入力された登録対象のデータ及びこのデータに対応する識別子を、前記蓄積用一時領域に格納し、
    前記蓄積用一時領域に格納された前記データに含まれる所定の検索情報からなる索引項目と、この索引項目に対応した前記識別子を含んだ索引情報とを作成し、
    前記索引項目単位で、前記作成した索引項目及びこれに対応した索引情報を前記インデクスとして前記インデクス格納領域に格納すること、
    を特徴とするインデクス更新方法。
  2. 入力された検索情報を含むデータを、データ群から検索するためのインデクスを格納するインデクス更新システムにおいて、前記インデクスを更新するインデクス更新方法であって、
    前記インデクス更新システムは、登録対象のデータに含まれる所定の検索情報からなる索引項目及び前記データに対応した識別子を含んだ索引情報を格納する蓄積用一時領域と、前記インデクスを格納するインデクス格納領域とを備え、
    前記インデクス更新システムの演算部が、
    入力された登録対象のデータに含まれる所定の検索情報からなる索引項目と、この索引項目に対応した前記識別子を含んだ索引情報とを作成して前記蓄積用一時領域に格納し、
    前記索引項目単位で、前記蓄積用一時領域に格納された索引項目及びこれに対応した索引情報を前記インデクスとして前記インデクス格納領域に格納すること、
    を特徴とするインデクス更新方法。
  3. 前記インデクス更新システムは、登録対象のデータ及びこのデータに対応する識別子を格納する反映用一時領域をさらに備え、
    前記インデクス更新システムの演算部が、
    前記入力された登録対象のデータ及びこのデータに対応する識別子を、前記蓄積用一時領域に格納する容量があるか否かを判定し、前記容量がないと判定した場合に、現在、前記蓄積用一時領域に格納されている前記データ及び前記識別子を前記反映用一時領域に転送して、前記蓄積用一時領域に格納されている前記データ及び前記識別子を消去し、
    前記反映用一時領域に格納された前記データを用いて、このデータに含まれる所定の検索情報からなる索引項目と、この索引項目を抽出した前記データに対応する前記識別子を含む索引情報とを作成し、
    前記索引項目単位で、前記作成した索引項目及びこれに対応した索引情報を前記インデクスとして前記インデクス格納領域に格納し、
    前記蓄積用一時領域に、前記入力された登録対象のデータ及びこれに対応する前記識別子を格納すること、
    を特徴とする請求項1に記載のインデクス更新方法。
  4. 前記インデクス更新システムの演算部が、
    入力された検索情報を用いて、前記インデクスを検索して、対応する前記索引情報を取得して、この索引情報に含まれる前記識別子を取得し、
    前記入力された検索情報を用いて、前記反映用一時領域から対応する前記データを検索して、対応する前記識別子を取得し、
    前記入力された検索情報を用いて、前記蓄積用一時領域から対応する前記データを検索して、対応する前記識別子を取得し、
    それぞれ取得した前記識別子を出力すること、
    を特徴とする請求項3に記載のインデクス更新方法。
  5. 前記インデクス更新システムの演算部が、
    前記反映用一時領域または前記蓄積用一時領域から検索した、前記データに含まれる所定の検索情報からなる索引項目と、この索引項目に対応した識別子を含む索引情報を作成し、前記作成した索引項目及びこれに対応した索引情報を前記インデクスとして前記インデクス格納領域に格納すること、
    を特徴とする請求項4に記載のインデクス更新方法。
  6. 入力された削除対象の前記データに含まれる所定の検索情報からなる削除対象の索引項目と、この索引項目に対応した前記識別子を含んだ削除対象の索引情報とを作成し、
    前記インデクスから、前記作成された削除対象の索引項目に対応した前記索引情報を削除し、
    削除対象の前記データを前記蓄積用一時領域または前記反映用一時領域から削除すること、
    を特徴とする請求項3ないし請求項5のいずれか1項に記載のインデクス更新方法。
  7. 前記インデクス更新システムは、前記蓄積用一時領域を複数備えること、
    を特徴する請求項1または請求項2に記載のインデクス更新方法。
  8. 前記インデクス更新システムは、前記蓄積用一時領域及び前記反映用一時領域とのいずれか、または両方を、複数備えること、
    を特徴する請求項3ないし請求項6のいずれか1項に記載のインデクス更新方法。
  9. 前記インデクス更新システムの演算部が、
    前記索引項目及びこれに対応した索引情報を作成時に、前記蓄積用一時領域に格納されたデータ量に応じて、作成する前記索引項目の数を決定すること、
    を特徴する請求項1ないし請求項8のいずれか1項に記載のインデクス更新方法。
  10. 前記インデクス更新システムの演算部が、
    前記索引項目及びこれに対応した索引情報の作成時に、この索引情報を前記インデクスに格納していないことを示す反映情報を作成し、
    前記インデクスに前記索引項目及びこれに対応した索引情報を格納する際に、前記反映情報に基づいて、前記インデクスに格納されていない前記索引項目及びこれに対応した索引情報のみを前記インデクスに格納し、格納した前記索引情報に対応する前記反映情報を、前記インデクスに格納されたことを示す情報に書き換えること、
    を特徴する請求項1ないし請求項9のいずれか1項に記載のインデクス更新方法。
  11. 指定された検索情報を含むデータを、データ群から検索するためのインデクスを格納するインデクス更新システムであって、
    前記インデクス更新システムは、
    登録対象のデータ及びこのデータを識別する識別子を格納する蓄積用一時領域、並びに前記データに含まれる所定の検索情報からなる索引項目及びこの索引項目に対応した前記識別子を含んだ索引情報を前記インデクスとして格納するインデクス格納領域を含む記憶部と、
    入力されたデータ及びこれに対応する識別子を、前記蓄積用一時領域に格納し、
    前記入力されたデータに含まれる所定の検索情報からなる前記索引項目と、この索引項目に対応した前記索引情報とを作成し、前記索引項目単位で、前記索引項目及びこれに対応した索引情報を前記インデクスとして前記インデクス格納領域に格納する演算部と、
    を備えることを特徴とするインデクス更新システム。
  12. 指定された検索情報を含むデータを、データ群から検索するためのインデクスを格納するインデクス更新システムであって、
    前記インデクス更新システムは、
    登録対象のデータに含まれる所定の検索情報からなる索引項目及び前記データに対応した識別子を含んだ索引情報を格納する蓄積用一時領域と、前記インデクスを格納するインデクス格納領域とを含む記憶部と、
    入力された登録対象のデータに含まれる所定の検索情報からなる索引項目と、この索引項目に対応した前記識別子を含んだ索引情報とを作成して前記蓄積用一時領域に格納し、
    前記索引項目単位で、前記蓄積用一時領域に格納された索引項目及びこれに対応した索引情報を前記インデクスとして前記インデクス格納領域に格納する演算部と、
    を備えることを特徴とするインデクス更新システム。
  13. 前記記憶部は、
    前記データ及びこれに対応する前記識別子を格納する反映用一時領域をさらに含み、
    前記演算部は、
    前記蓄積用一時領域に、前記入力されたデータ及びこれに対応する識別子を格納する容量があるか否かを判定し、前記容量がないと判定すると、現在、前記蓄積用一時領域に格納されている前記データ及び前記識別子を前記反映用一時領域に転送して、前記蓄積用一時領域に格納されている前記データ及び前記識別子を消去し、
    前記反映用一時領域に格納された前記データに含まれる所定の検索情報からなる索引項目と、この索引項目を抽出した前記データに対応する前記識別子を含んだ索引情報とを作成し、
    前記索引項目単位で、前記索引項目及びこれに対応した索引情報を前記インデクスとして前記インデクス格納領域に格納し、
    前記蓄積用一時領域に、前記入力されたデータ及びこれに対応する識別子を格納すること、
    を特徴とする請求項11に記載のインデクス更新システム。
  14. 前記演算部は、
    入力された検索情報を用いて、前記インデクスを検索して、対応する前記索引情報を取得して、この索引情報に含まれる前記識別子を取得し、
    前記入力された検索情報を用いて、前記反映用一時領域から対応する前記データを検索して、対応する前記識別子を取得し、
    前記入力された検索情報を用いて、前記蓄積用一時領域から対応する前記データを検索して、対応する前記識別子を取得し、
    それぞれ取得した前記識別子を出力すること、
    を特徴とする請求項13に記載のインデクス更新システム。
  15. 前記演算部は、
    前記反映用一時領域または前記蓄積用一時領域から検索した、前記データに含まれる所定の検索情報からなる索引項目と、この索引項目に対応した識別子を含む索引情報を作成し、前記作成した索引項目及びこれに対応した索引情報を前記インデクスとして前記インデクス格納領域に格納すること、
    を特徴とする請求項14に記載のインデクス更新システム。
  16. 前記演算部が、
    入力された削除対象の前記データに含まれる所定の検索情報からなる削除対象の索引項目と、この索引項目に対応した前記識別子を含んだ削除対象の索引情報とを作成し、前記インデクスから、前記作成された削除対象の前記索引項目に対応した前記索引情報を削除し、削除対象の前記データを、前記蓄積用一時領域または前記反映用一時領域から削除すること、
    を特徴とする請求項13ないし請求項15のいずれか1項に記載のインデクス更新システム。
  17. 前記インデクス更新システムは、前記蓄積用一時領域を複数備えること、
    を特徴する請求項11または請求項12に記載のインデクス更新システム。
  18. 前記インデクス更新システムは、前記蓄積用一時領域及び前記反映用一時領域とのいずれか、または両方を、複数備えること、
    を特徴する請求項13ないし請求項16のいずれか1項に記載のインデクス更新システム。
  19. 前記演算部が、
    前記索引項目及びそれに対応した索引情報を作成する際に、前記蓄積用一時領域に格納されたデータ量に応じて、作成する前記索引項目の数を決定すること、
    を特徴する請求項11ないし請求項18のいずれか1項に記載のインデクス更新システム。
  20. 前記演算部が、
    前記索引項目及びこれに対応した索引情報の作成時に、この索引情報を前記インデクスに格納していないことを示す反映情報を作成し、前記インデクス格納領域に前記索引項目及びこれに対応した索引情報を格納する際に、前記反映情報に基づいて、前記インデクス格納領域に格納されていない前記索引項目及びこれに対応した索引情報のみを前記インデクス格納領域に格納して、この格納した前記索引情報に対応する前記反映情報を、前記インデクス格納領域に格納されたことを示す情報に書き換えること、
    を特徴する請求項11ないし請求項19のいずれか1項に記載のインデクス更新システム。
  21. コンピュータを、請求項11ないし請求項20のいずれか1項に記載のインデクス更新システムとして動作させるためのプログラム。
JP2006123763A 2006-04-27 2006-04-27 インデクス更新方法及びそのシステム Expired - Fee Related JP5108252B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006123763A JP5108252B2 (ja) 2006-04-27 2006-04-27 インデクス更新方法及びそのシステム
EP07250463A EP1850250A1 (en) 2006-04-27 2007-02-05 Method and system for renewing an index
US11/702,494 US20070255771A1 (en) 2006-04-27 2007-02-06 Method and system for renewing an index

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006123763A JP5108252B2 (ja) 2006-04-27 2006-04-27 インデクス更新方法及びそのシステム

Publications (2)

Publication Number Publication Date
JP2007299021A true JP2007299021A (ja) 2007-11-15
JP5108252B2 JP5108252B2 (ja) 2012-12-26

Family

ID=38323888

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006123763A Expired - Fee Related JP5108252B2 (ja) 2006-04-27 2006-04-27 インデクス更新方法及びそのシステム

Country Status (3)

Country Link
US (1) US20070255771A1 (ja)
EP (1) EP1850250A1 (ja)
JP (1) JP5108252B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161051B2 (en) 2008-01-21 2012-04-17 Hitachi, Ltd. Method and apparatus for data processing with index search
JP2014119846A (ja) * 2012-12-14 2014-06-30 Exa Corp データ管理装置及びデータ管理プログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1591916B1 (en) * 2004-04-26 2013-11-06 Sap Ag Method, computer program and device for deleting data sets contained in a table system
US8838928B2 (en) 2008-02-08 2014-09-16 Freescale Semiconductor, Inc. Memory management and method for allocation using free-list
CN101739400B (zh) * 2008-11-11 2014-08-13 日电(中国)有限公司 生成索引的方法和装置以及检索方法和装置
US8239391B2 (en) * 2010-07-13 2012-08-07 Microsoft Corporation Hierarchical merging for optimized index

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01282635A (ja) * 1988-05-10 1989-11-14 Nec Corp 索引保守方式
JPH0373036A (ja) * 1989-05-29 1991-03-28 Hitachi Ltd バッファ管理方法
JPH07146880A (ja) * 1993-11-22 1995-06-06 Nippon Steel Corp 文書検索装置及び方法
JPH10240754A (ja) * 1997-02-26 1998-09-11 Hitachi Ltd テキストデータ登録検索方法
JPH1139326A (ja) * 1997-07-22 1999-02-12 Hitachi Ltd 高速文書登録検索方法および装置
JP2002245039A (ja) * 2001-02-15 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> 文書検索方法及びシステム及び文書検索プログラム及び文書検索プログラムを格納した記憶媒体
JP2004341926A (ja) * 2003-05-16 2004-12-02 Toshiba Corp データベース管理システム、データベース管理プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5685003A (en) * 1992-12-23 1997-11-04 Microsoft Corporation Method and system for automatically indexing data in a document using a fresh index table
US6516337B1 (en) * 1999-10-14 2003-02-04 Arcessa, Inc. Sending to a central indexing site meta data or signatures from objects on a computer network
US7702666B2 (en) * 2002-06-06 2010-04-20 Ricoh Company, Ltd. Full-text search device performing merge processing by using full-text index-for-registration/deletion storage part with performing registration/deletion processing by using other full-text index-for-registration/deletion storage part
US20070067325A1 (en) * 2005-02-14 2007-03-22 Xsapio, Ltd. Methods and apparatus to load and run software programs in data collection devices
JP2006236019A (ja) * 2005-02-25 2006-09-07 Hitachi Ltd データコピー方式の切替方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01282635A (ja) * 1988-05-10 1989-11-14 Nec Corp 索引保守方式
JPH0373036A (ja) * 1989-05-29 1991-03-28 Hitachi Ltd バッファ管理方法
JPH07146880A (ja) * 1993-11-22 1995-06-06 Nippon Steel Corp 文書検索装置及び方法
JPH10240754A (ja) * 1997-02-26 1998-09-11 Hitachi Ltd テキストデータ登録検索方法
JPH1139326A (ja) * 1997-07-22 1999-02-12 Hitachi Ltd 高速文書登録検索方法および装置
JP2002245039A (ja) * 2001-02-15 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> 文書検索方法及びシステム及び文書検索プログラム及び文書検索プログラムを格納した記憶媒体
JP2004341926A (ja) * 2003-05-16 2004-12-02 Toshiba Corp データベース管理システム、データベース管理プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161051B2 (en) 2008-01-21 2012-04-17 Hitachi, Ltd. Method and apparatus for data processing with index search
JP2014119846A (ja) * 2012-12-14 2014-06-30 Exa Corp データ管理装置及びデータ管理プログラム

Also Published As

Publication number Publication date
JP5108252B2 (ja) 2012-12-26
EP1850250A1 (en) 2007-10-31
US20070255771A1 (en) 2007-11-01

Similar Documents

Publication Publication Date Title
CN107391653B (zh) 一种分布式NewSQL数据库系统及图片数据储存方法
CN105630865B (zh) 用于内存列式存储的n比特压缩版本化列数据阵列
JP6998928B2 (ja) データを記憶およびクエリするための方法、装置、設備、および媒体
JP5211514B2 (ja) 更新装置、更新方法および更新プログラム
TWI412945B (zh) 擷取以及保存來自或存至關聯資料庫之各物件的方法及系統
JP2007042134A (ja) マルチプロセッサ・メモリ整合性の効率のよいエミュレーションのための方法
JP5108252B2 (ja) インデクス更新方法及びそのシステム
JP2006172446A (ja) 複合データアクセス
Brachmann et al. Your notebook is not crumby enough, REPLace it
CN109871386A (zh) 非易失性存储器中的多版本并发控制(mvcc)
JP6937759B2 (ja) データベース操作方法及び装置
US20170255662A1 (en) Database engine for mobile devices
JPS62501243A (ja) スタツク指向のメモリに対するアクセスのためのアドレス環境記憶装置
JP2004030638A (ja) マイクロプロセッサキャッシュ設計初期化
WO2015105043A1 (ja) 演算システム、データベース管理装置および演算方法
JP2018085042A (ja) データベース管理装置、情報処理システム、データベース管理方法及びデータベース管理プログラム
US11625386B2 (en) Fast skip list purge
JP4825504B2 (ja) データ登録・検索システムおよびデータ登録・検索方法
US20230244649A1 (en) Skip-List Checkpoint Creation
US11681705B2 (en) Trie data structure with subtrie data structures
JP2831837B2 (ja) 文書検索装置
JP3590211B2 (ja) データベース管理方式
JP5208117B2 (ja) 表形式データを操作するマルチコア対応データ処理方法、マルチコア型処理装置、及び、プログラム
JP2021170302A (ja) 情報処理装置および情報処理プログラム
Vitter Computational complexity of an optical disk interface

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120531

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121002

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121005

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees