JP2009037359A - データ登録検索方法、データ登録検索プログラムおよびデータベースシステム - Google Patents
データ登録検索方法、データ登録検索プログラムおよびデータベースシステム Download PDFInfo
- Publication number
- JP2009037359A JP2009037359A JP2007200116A JP2007200116A JP2009037359A JP 2009037359 A JP2009037359 A JP 2009037359A JP 2007200116 A JP2007200116 A JP 2007200116A JP 2007200116 A JP2007200116 A JP 2007200116A JP 2009037359 A JP2009037359 A JP 2009037359A
- Authority
- JP
- Japan
- Prior art keywords
- registration
- data
- index
- buffer
- search
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】データベースの登録用テキストバッファにインデクス未反映のデータが増加した場合でも、検索時間の増加を防止できる。
【解決手段】データベースシステムは、インデクス未反映のデータを登録用テキストバッファ39へ登録する。そして、データベースシステムは、登録用テキストバッファ39を検索したとき、この検索要求に示される検索文字を用いて登録バッファ用インデクス40を作成する。この後、検索要求を受け付けると、まずデータベースのインデクス63を検索する。ここでインデクス63に該当データがないとき、登録バッファ用インデクス40を検索する。そして、この登録バッファ用インデクス40に示されるインデクスを用いて登録用テキストバッファ39を検索する。データベースシステムは、この登録バッファ用インデクス40を所定のタイミングでインデクス63へ反映させる。
【選択図】図1
【解決手段】データベースシステムは、インデクス未反映のデータを登録用テキストバッファ39へ登録する。そして、データベースシステムは、登録用テキストバッファ39を検索したとき、この検索要求に示される検索文字を用いて登録バッファ用インデクス40を作成する。この後、検索要求を受け付けると、まずデータベースのインデクス63を検索する。ここでインデクス63に該当データがないとき、登録バッファ用インデクス40を検索する。そして、この登録バッファ用インデクス40に示されるインデクスを用いて登録用テキストバッファ39を検索する。データベースシステムは、この登録バッファ用インデクス40を所定のタイミングでインデクス63へ反映させる。
【選択図】図1
Description
本発明は、データベースにおけるデータ登録検索技術に関する。
近年、データベースにおける全文検索を高速にするため、データベースシステムに全文検索用インデクスを用意しておき、このインデクス(例えば、n-gramインデクス等)を用いて全文検索を行う技術がある。この全文検索用インデックスを用いる方法は、検索性能は優れているが、インデクスの作成や登録に時間を要するという問題がある。このような問題を解決するためにデータベースに新規にデータを登録しようとするとき、このデータを登録用テキストバッファへ格納しておく。そして、データベースの検索時には、まず全文検索用インデクスを参照し、この全文検索用インデクスに反映されていないデータは、登録用テキストバッファ内を検索する技術がある。つまり、データベースシステムは、データ登録時にデータをバッファリングしておき、すぐには全文検索用インデクスへの反映をしないことでデータベースへの登録時間を削減する技術がある(特許文献1参照)。
特開平10−240754号公報
しかし、前記した従来技術は、登録用テキストバッファに登録されたデータ数が増加すると、それに比例して検索時間が増加するという問題がある。そこで、本発明は、前記した問題を解決し、データベースの検索時間の増加を防ぐことを目的とする。
前記した課題を解決するため本発明のデータベースシステムは、登録用テキストバッファ内のインデクス未反映のデータに対して、検索を行う登録バッファ用インデクスを作成し、データに対する検索時間の増加を防止する。そして、データベースシステムは、インデクス未反映のデータをまず登録用バッファへ格納する。また、データベースシステムは、データ検索時、まずインデクスを参照する。このインデクスに検索対象のデータのインデクスが無ければ、データベースシステムは、登録バッファ用インデクスを参照する。そして、データベースシステムは、登録用バッファに記録してあるデータを検索する。このとき、データベースシステムは、登録用バッファを検索するタイミングで、検索要求に対してインデクスを作成し登録バッファ用インデクスへ格納する。このインデクスは、例えば、1-gramインデクス方式とする。データベースシステムは、インデクス作成が完了した登録用バッファ内にあるデータは削除する。
本発明によれば、データベースの登録用テキストバッファにインデクス未反映のデータが増加した場合でも、検索時間の増加を防止できる。
以下、本発明を実施するための最良の形態(以下、実施の形態という)を、図面を参照しながら説明する。まず、本実施の形態のデータベースシステムについて、図1を用いて説明する。図1は、本実施の形態のデータベースシステムの全体構成を示した図である。なお、以下の説明では、データベースに格納されるデータはXML(Extensible Markup Language)データである場合を例に説明するが、これ以外のデータであってもよい。
本実施の形態のデータベースシステムは、ネットワーク206に接続されたコンピュータ201と、端末装置204,205と、コンピュータ201に接続されたディスク装置207とを含んで構成される。なお、この端末装置204,205は、例えば、PC(Personal Computer)により実現され、図示しない入力装置(キーボードやマウス等)や、出力装置(液晶ディスプレイ等)が接続される。ネットワーク206は、例えば、インターネットや、LAN(Local Area Network)等により実現される。端末装置、コンピュータ201、ディスク装置207の数は図1に示す数に限定されない。
コンピュータ201は、CPU(Central Processing Unit)202と、RAM(Random Access Memory)等からなる主記憶部203とを備える。また、図示を省略しているが、このコンピュータ201は、ネットワーク206経由でデータを送受信するためのネットワークインタフェースや、コンピュータ201に接続される入力装置や出力装置との間でデータ入出力を行うための入出力インタフェース等を備える。
また、主記憶部203は、データベース管理システム10と、登録用テキストバッファ39と、登録バッファ用インデクス40とを備える。また、主記憶部203は、検索結果判定フラグ41を記憶する領域と、検索結果格納エリア42とを備える。なお、このデータベース管理システム10は、図1において、プログラムとしてロードされた状態を示している。このデータベース管理システム10、登録用テキストバッファ(登録用バッファ)39、登録バッファ用インデクス40、検索結果判定フラグ41および検索結果格納エリア42の詳細は後記する。
端末装置204,205はそれぞれアプリケーションプログラム231,232を備える。これらのアプリケーションプログラム231,232は、データベース管理システム10へ検索要求を送信したり、このデータベース管理システム10からこの検索要求の結果を受信したりする。
ディスク装置207は、データベース60を備える。このディスク装置207は、例えば、HDD(Hard Disk Drive)や、フラッシュメモリ等の記憶装置により実現される。なお、このディスク装置207は、コンピュータ201の内部に設置されていてもよい。
データベース60は、定義情報61と、XMLデータを格納する表62と、このXMLデータのインデクス63とを含んで構成される。
定義情報61は、データベース60の表62ごとに、この表62に格納されるXMLデータのインデクス63の識別情報を示した情報である。以下に例示する定義情報61は、表62である「T1」のインデクスは「Idx1」であることを示す。データベースアクセス制御部210は、この定義情報61を参照することで、各表62にインデクス63が作成されているか否かを知ることができる。
表62は、XMLデータを格納する。表62には、XMLデータのデータ番号(データ識別子)ごとに、このデータ番号に対応するXMLデータが格納される。以下の表2に表62を例示する。表62である「TI」には、データ番号「1」および「2」のXMLデータが格納されていることを示す。
なお、この表62には、インデクス63に未反映のXMLデータも格納される。また、この表62には、XMLデータとは別に、このXMLデータに関するメタデータ(例えば、XMLデータの登録年月日等)を含んでいてもよい。
インデクス63は、表62に格納されるXMLデータのインデクスである。このインデクス63は、表62ごとに作成される。なお、このインデクス63は、インデクス検索処理部213(後記)により検索される。
このインデクス63は、例えば、XMLデータの文字列を検索するための文字列インデクスを含んで構成される。文字列インデクスは、文字列(検索文字)ごとにその文字列を含むXMLデータのデータ番号や、そのXMLデータにおける文字位置等を示したインデクスである。インデクス検索処理部213は、このインデクス63を検索することで、検索条件に示された文字列を含むXMLデータや、そのXMLデータにおける当該文字列の文字位置等を得ることができる。なお、このインデクス63は、例えば、n−gramのインデクスである。
データベース管理システム10は、データベース60のアクセス制御を行うデータベースアクセス制御部210を備える。
このデータベースアクセス制御部210は、データ管理部216と、インデクス管理部211と、登録バッファ用インデクス管理部220とを備える。このデータベースアクセス制御部210は、アプリケーションプログラム231,232から送信された検索要求やデータ登録要求に応じて、データ管理部216、インデクス管理部211、登録バッファ用インデクス管理部220等を呼び出し、この要求の結果をアプリケーションプログラム231,232に返却する。
データ管理部216は、ディスク装置207に格納されているデータベース60のデータの取り出し、更新、削除等を行う。また、このデータ管理部216は、登録用テキストバッファ削除処理部217を備える。この登録用テキストバッファ削除処理部217は、登録バッファ用インデクス40においてインデクス作成済みのデータを登録用テキストバッファ39から削除する。
インデクス管理部211は、インデクス63の検索や登録を行う。このインデクス管理部211は、インデクス登録処理部212と、インデクス検索処理部213と、インデクス反映処理部214とを備える。
インデクス登録処理部212は、アプリケーションプログラム231,232からの要求に応じてXMLデータをディスク装置207のデータベース60へ登録するための処理を行う。また、インデクス検索処理部213は、アプリケーションプログラム231,232から送信された検索要求に応じ、インデクス63を用いてディスク装置207のXMLデータを検索する。さらに、インデクス反映処理部214は、登録バッファ用インデクス40をインデクス63へ反映する。
登録バッファ用インデクス管理部220は、登録バッファ用インデクス40の登録や検索を行う。この登録バッファ用インデクス管理部220は、登録バッファ用インデクス登録処理部221と、登録バッファ用インデクス検索処理部222とを備える。そして、登録バッファ用インデクス管理部220は、アプリケーションプログラム231,232からの検索要求に応じて、これらの処理部を起動する。
登録バッファ用インデクス登録処理部221は、登録用テキストバッファ39の検索時に、この検索対象のデータを登録用テキストバッファ39から検索するための登録バッファ用インデクス40を作成する。
登録バッファ用インデクス検索処理部222は、登録用テキストバッファ39の検索時に登録バッファ用インデクス40を検索する。
登録用テキストバッファ39は、データベース60に未反映のデータを格納する。つまり、このデータ管理部216は、データベース60に登録するXMLデータを受信すると、まずこのデータを登録用テキストバッファ39に格納する。この登録用テキストバッファ39の例を図2に示す。
図2は、図1の登録用テキストバッファを例示した図である。この登録用テキストバッファ39は、図2に例示するように、テキストデータのデータ識別子(データ番号)1001と、テキストデータ1002と、登録バッファ用インデクスフラグ1003とを示した情報である。この登録バッファ用インデクスフラグ1003は、当該テキストデータ1002のうち、検索済みの部分(文字)にフラグ値「1」を付与したものである。なお、この図2に例示した登録用手テキストバッファ39には、符号920に示すデータ001(データ番号「001」のデータ)と、符号921に示すデータ002(データ番号「002」のデータ)と、符号922に示すデータ003(データ番号「003」のデータ)と、それぞれのデータの登録バッファ用インデクスフラグとが格納されている。例えば、図2の登録用テキストバッファ39におけるデータ001は、「人」、「材」、「適」、「材」および「適」が、登録バッファ用インデクス検索処理部222により検索済みであることを「1」で示す。
図1の登録バッファ用インデクス40は、登録用テキストバッファ39に対して検索を行うためのインデクスであり、前記したとおり、登録バッファ用インデクス登録処理部221が、登録用テキストバッファ39の検索時に作成する。この登録バッファ用インデクス40は、検索文字(検索対象の文字)ごとに、この検索文字が含まれるデータのデータ番号と、そのデータにおける文字位置とを示した情報である。この登録バッファ用インデクス40を、図3を用いて説明する。
図3は、図1の登録バッファ用インデクスを例示した図である。この登録バッファ用インデクス40は、図3に例示するように、符号920に示すデータ001と、符号921に示すデータ002と、符号922に示すデータ003のインデクスであり、各レコードの通し番号であるレコード番号901と、検索文字902と、この検索文字を含むデータのデータ番号903と、このデータにおける文字位置904とを含んで構成される。なお、同一文字(例えば、「適」)に関するインデクスが複数あるときは図3に例示するようレコードをリンクさせてもよい。例えば、図3に示す登録バッファ用インデクス40のレコード番号「1」のインデクスは、検索文字「適」が、データ番号「001」のデータの文字位置「16」および「18」にあることを示す。このような登録バッファ用インデクス40を作成しておくことで、データベース管理システム10は、登録用テキストバッファ39のデータを効率よく検索できる。
図1の検索結果判定フラグ41は、このデータベース管理システム10が検索要求を受け付けたとき、この検索要求に基づくインデクス63、登録バッファ用インデクス40および登録用テキストバッファ39の検索結果(検索条件を満たすデータを発見できたか否か)をフラグ値として示した情報である。
検索結果格納エリア42は、インデクス63、登録バッファ用インデクス40および登録用テキストバッファ39の検索結果を格納する領域である。ここでの検索結果とは、前記した検索条件を満たすデータを発見できたか否かのは判断結果の他に、検索条件を満たすデータのデータ番号や、そのデータにおける領域(文字位置)等を示した情報である。
次に、図4を用いて、図1のデータベースシステムの動作の概略を説明する。図4は、図1のデータベースシステムの動作の概略を説明した図である。データベースシステムは、大きく分けて、XMLデータの登録処理と、XMLデータの検索処理という2つの処理を実行する。ここでは、端末装置204のアプリケーションプログラム231がデータの登録要求を送信し、端末装置205のアプリケーションプログラム232がデータの検索要求を送信する場合を例に説明する。
まず、データベース管理システム10は、端末装置204のアプリケーションプログラム231から、XMLデータ52と、このXMLデータ52の登録要求50の入力を受け付ける。この登録要求は、このXMLデータ52の登録先である表62の識別情報(例えば、「T1」)等を含む。
そして、図1のデータ管理部216は、データベース60の定義情報61を参照し、インデクス63の更新を決定する(S11)。例えば、XMLデータの登録先の表62が「T1」であるとき、データ管理部216は、定義情報61を参照して、この表62である「T1」に当該XMLデータがあるか否かを判断する。そして、この表62に当該XMLデータがないとき、インデクス63を更新すると決定する。一方、既にインデクス63に当該XMLデータがあるとき、データ管理部216は、このインデクス63を更新しない。
次に、データ管理部216は、XMLデータ52をデータベース60に格納し、このXMLデータ52のデータ番号(符号30参照)を決定する(S12)。例えば、XMLデータ52をデータベース60の表「T1」に格納し、このXMLデータ52のデータ番号「001」を決定する。
次に、インデクス登録処理部212は、入力されたXMLデータ52とS12で決定されたデータ番号とを対応付けて登録用テキストバッファ39へ格納する(S13)。
このようにして、データ管理部216は、インデクス63に未登録のXMLデータについて、登録用テキストバッファ39に格納する。
次に、図4の右半分に示すXMLデータの検索処理について説明する。ここでは、データベース管理システム10が、インデクス63を検索してから、登録バッファ用インデクス40を検索する場合を例に説明するが、登録バッファ用インデクス40を検索してから、インデクス63を検索してもよい。
データベース管理システム10は、端末装置205のアプリケーションプログラム232からXMLデータの検索要求51の入力を受け付ける。
次に、データ管理部216のインデクス検索処理部213は、データベース60の定義情報61を参照して、インデクス63の利用を決定する(S16)。つまり、インデクス検索処理部213は、定義情報61を参照して、データベース60のインデクス63を読み出す。
そして、インデクス検索処理部213は、インデクス63に、検索要求51で指定された条件を満たすインデクス(検索要求51に示される文字に関するインデクス)があるか否かを判断する(S17)。そして、インデクス検索処理部213は、この判断結果を端末装置205のアプリケーションプログラム232へ送信する。つまり、インデクス63に、検索要求51で指定された条件を満たすインデクスがあれば、そのインデクスを用いてデータベース60から検索したデータを端末装置205のアプリケーションプログラム232へ送信する。一方、インデクス63に、検索要求51で指定された条件を満たすインデクスがなければ、S18へ進む。
次に、登録バッファ用インデクス検索処理部222は、登録バッファ用インデクス40に、検索要求51で指定された条件を満たすインデクスがあるか否かを判断する(S18)。そして、登録バッファ用インデクス検索処理部222は、この検索結果を、端末装置205のアプリケーションプログラム232へ送信する。つまり、登録バッファ用インデクス40に、検索要求51で指定された条件を満たすインデクスを検索した結果、検索要求51で指定された条件を満たすインデクスがあれば、そのインデクスを用いて登録用テキストバッファ39から検索したデータを端末装置205のアプリケーションプログラム232へ送信する。一方、検索要求51で指定された条件を満たすデータが見つからなかったときは、S19へ進む。
次に、登録バッファ用インデクス検索処理部222は、登録用テキストバッファ39から検索要求51で指定された条件を満たすデータを検索する。そして、この検索したデータのデータ番号(符号33参照)を読み出す。このとき、登録バッファ用インデクス登録処理部221は、検索要求51で指定された条件に対して、前記読み出したデータ番号を対応付けた登録バッファ用インデクス40を作成する(S19)。
なお、この登録バッファ用インデクス40は、例えば、1-gramインデクス方式とする。この1-gramインデクス方式についての説明は後述する。次に、登録用テキストバッファ削除処理部217は、登録バッファ用インデクス40に登録済みになった登録用テキストバッファ39内にあるデータを削除する(S20)。つまり、登録用テキストバッファ削除処理部217は、登録用テキストバッファ39のデータのうち、そのデータのすべての部分の登録バッファ用インデクス40が作成されたデータを、登録用テキストバッファ39から削除する。
なお、一般に1-gramインデクス方式とは、連接する1文字(1-gram)に対して各々がどの文書のどの位置に出現するかをインデクスとして登録したものである。ここでは、インデクス作成処理を容易にするため、登録バッファ用インデクス40は、1-gramインデクス方式である場合を例に説明するが、2-gram以上のインデクス方式であってもよい。
このようにしてデータベースアクセス制御部210は、いったん登録用テキストバッファ39を検索したデータ(例えば、検索文字)についてインデクスを作成し登録バッファ用インデクス40に登録する。従って、例えば、データベースアクセス制御部210が、再度同じ検索文字に関する検索要求を受信したとき、登録用テキストバッファ39をスキャン(検索)する必要がなくなるので、検索を効率的に行うことができる。
以下、図5を用いて、図4のXMLデータの検索処理の詳細を説明する。図5は、図4のXMLデータの検索処理の詳細を示すフローチャートである。
まず、データベース管理システム10のデータベースアクセス制御部210が、アプリケーションプログラム231からXMLデータの検索要求51の入力を受け付ける(S401)。
そして、インデクス検索処理部213は、インデクス63に、検索要求51で指定された条件を満たすインデクスがあるか否かを判断する(S402)。
次に、登録バッファ用インデクス検索処理部222は、登録バッファ用インデクス40に、検索要求51で指定された条件を満たすインデクスがあるか否かを判断する(S403)。なお、この登録バッファ用インデクス検索処理部222の処理の詳細は図6を用いて後記する。
次に、登録バッファ用インデクス登録処理部221は、登録用テキストバッファ39に格納されているテキストデータを1件取得する(S404)。
そして、登録バッファ用インデクス登録処理部221は、S404で取得したテキストデータが検索要求で指定された条件を満たすか否かを判断する(S410)。ここで、S404で取得したテキストデータが検索要求で指定された条件を満たすとき(S410で“Yes”)、検索要求処理を実行する(S411)。このS411の処理については後記する。一方、S404で取得したテキストデータが検索要求で指定された条件を満たさないとき(S410で“No”)、S420へ進む。S420の処理については後記する。また、この登録バッファ用インデクス登録処理部221の処理の詳細は図7を用いて後記する。
S411の検索要求処理は、以下の(1)および(2)の処理を並行に実行する。すなわち、(1)登録バッファ用インデクス検索処理部222は、登録用テキストバッファ39から検索要求51で指定された条件を満たすデータを取得し、このデータの問い合わせ元(例えば、端末装置205のアプリケーションプログラム232)へ送信する。(2)登録バッファ用インデクス登録処理部221は、登録用テキストバッファ39の検索要求51で指定された条件を満たすデータについて、この検索要求51で指定された条件と対応付けた登録バッファ用インデクス40を作成する。この登録用テキストバッファ39内の全データの登録バッファ用インデクス40の登録が完了したら、登録用テキストバッファ削除処理部217は、登録用テキストバッファ39のデータを削除する。そして、S420へ進む。なお、この登録用テキストバッファ削除処理部217の処理の詳細は、図8を用いて後記する。
このような処理の後、登録バッファ用インデクス登録処理部221は、登録用テキストバッファ39に格納されたすべてのテキストデータを評価したか否かを判断し(S420)、すべてのテキストデータを評価し終わっている場合は(S420の“Yes”)、処理を終了する。一方、まだ登録用テキストバッファ39に評価していないテキストデータがある場合は(S420の“No”)、S404に戻る。
このようにしてデータベースアクセス制御部210は、いったん登録用テキストバッファ39を検索したデータ(例えば、文字列等)について登録バッファ用インデクス40を作成していく。
なお、ここでは説明を省略したが、S404で取得したテキストデータが検索要求で指定された条件を満たさないとき、その旨を示す情報を登録バッファ用インデクス40に書き込むようにしてもよい。例えば、登録バッファ用インデクス40の当該検索要求に示される文字に関する文字位置の情報に「−1」を書き込むようにしてもよい。
以下、図5のS403,404,411,412の処理を、図6を用いて具体的に説明する。図6は、図5のS403,404,411,412の処理の具体例を示した図である。
ここでは、データベースアクセス制御部210が検索キーワード「適材適所」を含む検索要求に基づき、「適材適所」を含むデータのデータ番号と、その文字位置を検索する場合を例に説明する。なお、この「適材適所」という検索キーワードは、現在まで検索処理が行われていないものとする。また、登録用テキストバッファ39には、データ番号「001」〜「003」の3件のデータが格納されているものとする。さらに、登録バッファ用インデクス40には初期状態でデータは登録されていないものとする。
まず、図5のS403の具体例について説明する。登録バッファ用インデクス管理部220は、検索キーワード「適材適所」について登録バッファ用インデクス40と登録用テキストバッファ39の検索を開始する(S500)。まず、登録バッファ用インデクス検索処理部222は、この検索キーワード「適材適所」について登録バッファ用インデクス40を検索する(S501)。この場合、登録バッファ用インデクス管理部220は1-gramインデクスの登録バッファ用インデクスを作成するので、具体的には、「適」、「材」、「適」、「所」という文字1つ1つについて、この文字に合致する登録バッファ用インデクス40を検索する。
また、登録バッファ用インデクス登録処理部221は登録用テキストバッファ39の検索時に(つまり、いったん検索した後に)、登録バッファ用インデクス40を作成する。なお、まだ登録用テキストバッファ39の検索が実行されていない状態(初期状態)では、登録バッファ用インデクス40にデータは格納されていない。従って、S501で登録バッファ用インデクス検索処理部222が登録バッファ用インデクス40を検索しても、その検索文字を含むデータを発見できない。
次に、図5のS404の具体例について説明する。登録バッファ用インデクス登録処理部221は、登録用テキストバッファ39を検索する(S502)。例えば、登録バッファ用インデクス登録処理部221は、まず符号920に示すデータ番号「001」のデータについて検索キーワード「適材適所」に合致する文字列があるか否かを判断する。結果、登録バッファ用インデクス登録処理部221は、このデータ番号「001」のデータの文字位置「16、17、18、19」の文字が検索キーワードと合致することを発見する。
続いて、登録バッファ用インデクス登録処理部221は、符合921に示すデータ番号「002」のデータについても、検索キーワード「適材適所」に合致する文字があるか否かを判断する。結果、検索キーワードと合致する文字列はない。
続いて、登録バッファ用インデクス登録処理部221は、符号922に示すデータ番号「003」も、検索キーワード「適材適所」に合致する文字があるか否かを判断する。結果、検索キーワードに合致する文字はない。
このようにして、登録バッファ用インデクス登録処理部221は、登録用テキストバッファ39に格納されたすべてのデータについて、検索キーワードに合致する文字があるか否かを判断する。
次に、図5のS412の具体例について説明する。登録バッファ用インデクス登録処理部221は、検索キーワード「適材適所」に対する登録バッファ用インデクス40を作成する(S503)。まず、登録バッファ用インデクス登録処理部221は、符号920に示すデータ番号「001」のデータに対する登録バッファ用インデクス40を作成する。このデータ番号「001」のデータは文字位置「16、17、18、19」で検索キーワードと合致したため、登録バッファ用インデクス登録処理部221は、登録バッファ用インデクス40の検索文字902に「適」という文字を格納し、その列に当該データのデータ番号「001」と、その文字の文字位置「16」を格納する。また、この「適」という文字は文字位置「18」にも登場するので、登録バッファ用インデクス登録処理部221は、同じ列に文字位置として「18」も格納する。
続いて、登録バッファ用インデクス登録処理部221は、登録バッファ用インデクス40の検索文字902に「材」を格納し、その列にデータ番号「001」と文字位置「17」を格納する。次に、登録バッファ用インデクス登録処理部221は、登録バッファ用インデクス40の検索文字902に「所」を格納し、その列にデータ番号「001」と文字位置「19」を格納する。
このようにして登録バッファ用インデクス登録処理部221は、データ番号「001」に関する登録バッファ用インデクス40を作成する。
次に、登録バッファ用インデクス登録処理部221は、符号921に示すデータ番号「002」のデータに対する登録バッファ用インデクス40を作成する。このデータ番号「002」のデータは、検索キーワードと合致しなかったため(S502参照)、登録バッファ用インデクス登録処理部221は、登録バッファ用インデクス40の検索文字902の「適」が格納された列にデータ番号「002」と文字位置「−1」を格納する。
次に、登録バッファ用インデクス登録処理部221は、符号922に示すデータ番号「003」のデータに対する登録バッファ用インデクス40を作成する。このデータ番号「003」のデータは、検索キーワードと合致しなかったため(S502参照)、登録バッファ用インデクス登録処理部221は、登録バッファ用インデクス40の検索文字902の「適」が格納された列に、データ番号「003」と文字位置「−1」を格納する。また、登録バッファ用インデクス登録処理部221は、検索文字902の「在」、「所」が格納された列にも、データ番号「003」と文字位置「−1」を格納する。
このようにして登録バッファ用インデクス登録処理部221は、登録用テキストバッファ39に格納されたデータ番号「002」および「003」のデータに関する登録バッファ用インデクス40を作成する。
次に、図5のS411の検索要求処理において、登録バッファ用インデクス検索処理部222が、登録用テキストバッファ39から検索要求51で指定された条件を満たすデータを取得し、このデータの問い合わせ元へ送信する処理について説明する。例えば、登録バッファ用インデクス登録処理部221は、検索キーワード「適材適所」に対する検索結果を問合わせ元(例えば、端末装置205のアプリケーションプログラム232)へ返却する(S504)。ここでは、データ番号「001」のデータのみが検索キーワードと合致したため、検索結果として、データ番号1101が「001」、文字位置(当該検索キーワードの文字列の開始位置)1102が「16」を問合わせ元へ返却する。
次に、図7を用いて、図1の登録バッファ用インデクス検索処理部222の処理手順を説明する。図7は、図1の登録バッファ用インデクス検索処理部の処理手順を示したフローチャートである。
まず、データベースアクセス制御部210が登録バッファ用インデクス管理部220の登録バッファ用インデクス検索処理部222を呼び出す(S600)。呼び出された登録バッファ用インデクス検索処理部222は、登録バッファ用インデクス40(図3参照)に格納されているレコードを1件取得する(S601)。
そして、登録バッファ用インデクス検索処理部222は、S601で取得したレコードにおける検索文字が、検索要求で指定された条件を満たすか否かを判断する(S602)。例えば、登録バッファ用インデクス検索処理部222は、当該レコードが検索要求で指定された検索キーワードを含むか否かを判断する。
ここで、S601で取得したレコードにおける検索文字が検索要求で指定された条件を満たす場合(S602の“Yes”)、登録バッファ用インデクス検索処理部222は、当該レコードに示されるデータ番号と文字位置を検索結果格納エリアへ格納する(S603)。
そして、登録バッファ用インデクス検索処理部222は、登録バッファ用インデクス40に格納されたレコードすべてに対して評価したか否かを判断する(S604)。ここで、レコードすべてに対して、検索要求で指定された条件を評価した場合は(S604の“Yes”)、検索結果格納エリアの先頭レコードのデータ番号、文字位置を問合せ元へ返却し(S605)、処理を終了する。つまり、登録バッファ用インデクス検索処理部222は、当該検索キーワードを含むデータのデータ番号と、その検索キーワードの開始位置とを問合せ元へ返却する。
一方、S602において、S601で取得したレコードにおける検索文字が検索要求で指定された条件を満たさない場合(S602の“No”)、S604へ進む。また、登録バッファ用インデクス検索処理部222は、登録バッファ用インデクス40に格納されたレコードすべてに対する評価が完了していない場合(S604の“No”)、S601へ戻る。
このようにして登録バッファ用インデクス検索処理部222は、登録バッファ用インデクス40を用いて検索要求に示される検索キーワードを含むデータのデータ番号と、その検索キーワードの開始位置とを読み出す。
次に、図8を用いて、図1の登録バッファ用インデクス管理部220が登録用テキストバッファ39を検索する手順を説明する。図8は、図1の登録用テキストバッファ39の検索手順を示したフローチャートである。
登録バッファ用インデクス管理部220の登録バッファ用インデクス登録処理部221は、登録用テキストバッファ39に格納されているテキストデータ(データ)を1件取得する。そして、このテキストデータの検索結果判定フラグへ「0(初期値)」を格納する(S700)。
登録バッファ用インデクス登録処理部221は、S700で取得したテキストデータが検索要求で指定された条件を満たすか否かを判断する(S701)。つまり、登録バッファ用インデクス登録処理部221は、検索要求に指定された検索キーワードを1文字1文字について、当該テキストデータが検索要求で指定された検索キーワードを含むか否かを判断する。ここで取得したテキストデータが検索要求で指定された条件を満たす場合は(S701の“Yes”)、登録バッファ用インデクス登録処理部221は、このテキストデータのデータ番号と、検索要求に示される検索キーワードの文字位置を検索結果格納エリア42へ格納する。そして、登録バッファ用インデクス登録処理部221は、登録用テキストバッファ39の当該テキストデータのうち当該検索文字に合致する部分に登録バッファ用インデクスフラグ(図2の符号1003参照)に「1」を設定し(S705)、S710へ進む。つまり、登録バッファ用インデクス登録処理部221は、登録用テキストバッファ39のテキストデータにおける当該文字について検索要求に指定された検索キーワードと合致することを登録用テキストバッファ39に記録する。
一方、S701において、S700で取得したテキストデータが検索要求で指定された条件を満たさない場合は(S701の“No”)、S730へ進む。S730については後記する。
次に、登録バッファ用インデクス登録処理部221は、検索要求で指定された条件が登録バッファ用インデクス40に既に格納されているか否かを判断する(S710)。つまり、登録バッファ用インデクス登録処理部221は、検索要求で指定された検索キーワード(例えば、「適材適所」の「適」)に合致する文字に関するレコードが登録バッファ用インデクス40に格納されているか否かを判断する。ここで、検索要求で指定された条件が登録バッファ用インデクス40に既に格納されている場合(S710の“Yes”)、登録バッファ用インデクス登録処理部221は、登録バッファ用インデクス40内の前記検索要求の条件に合致した(つまり、検索要求で指定された条件を満たす)検索文字の同一文字リンク先として、このテキストデータのレコード番号と、文字位置を格納する。また、検索結果判定フラグ41に「1」を設定する(S720)。
例えば、図2に例示した登録バッファ用インデクス40において、既に検索文字「適」に関するレコードが格納されているところ、登録バッファ用インデクス登録処理部221が、同じテキストデータから別の文字位置で「適」という文字を発見した場合、この「適」という検索文字の同一文字リンク先としてテキストデータのレコード番号「001」と、文字位置「18」を格納する。
一方、検索要求で指定された条件が登録バッファ用インデクス40に格納されていない場合は(S710の“No”)、登録バッファ用インデクス登録処理部221は、前記条件に合致した文字と検索結果格納エリア42に格納された情報(データ番号と文字位置)を登録バッファ用インデクス40へ格納する(S721)。
次に、登録バッファ用インデクス登録処理部221は、登録用テキストバッファ39に格納されているすべてのテキストデータに対して、検索要求で指定された条件を評価したか否かを判断する(S730)。ここで、登録用テキストバッファ39に格納されているすべてのテキストデータに対して、検索要求で指定された条件を評価したとき(S730の“Yes”)、S740へ進む。一方、まだ評価していないテキストデータがある場合は(S730の“No”)、S700へ戻る。
次に、登録バッファ用インデクス登録処理部221は、検索結果判定フラグ41の値が「0」か否かを判断する(S740)。ここで、検索結果判定フラグ41の値が「0」の場合は(S740の“Yes”)、登録バッファ用インデクス登録処理部221は、この検索要求で指定された文字列を含むデータのデータ番号と、文字位置「−1」を登録バッファ用インデクス40へ格納する(S750)。そして、登録バッファ用インデクス検索処理部222は、この登録用テキストバッファ39のデータと条件(検索要求で指定された条件)が合致しなかったことを問合わせ元へ返却する(S752)。一方、検索結果判定フラグ41の値が「0」でない場合は(S740の“No”)、登録バッファ用インデクス検索処理部222は、この登録用テキストバッファ39のデータと検索要求で指定された条件が合致したこと(検索結果)を問合せ元へ返却し(S751)、処理を終了する。
このようにして登録バッファ用インデクス管理部220は、登録用テキストバッファ39の検索を行う。
次に、図9を用いて、図1の登録用テキストバッファ削除処理部217の処理手順を説明する。図9は、図1の登録用テキストバッファ削除処理部の処理手順を示したフローチャートである。
まず、データベースアクセス制御部210は、データ管理部216の登録用テキストバッファ削除処理部217を呼び出す(S800)。次に、呼び出された登録用テキストバッファ削除処理部217は、登録用テキストバッファ39すべてのテキストデータに対して登録バッファ用インデクス40を作成したか否かを判断する(S801)。ここで、登録用テキストバッファ39のすべてのテキストデータに対して登録バッファ用インデクス40を作成済みの場合(S801の“Yes”)、登録用テキストバッファ削除処理部217は、登録用テキストバッファ39内の登録バッファ用インデクスフラグ(図2の符号1003)がすべて「1」になっているか否かの判断を行う(S802)。つまり、登録用テキストバッファ削除処理部217は、登録用テキストバッファ39に格納されるテキストデータのうち、まだ登録バッファ用インデクス40が作成されていない文字があるか否かを判断する。
ここで、登録用テキストバッファ39内の登録バッファ用インデクスフラグがすべて「1」の場合(S802の“Yes”)、登録用テキストバッファ削除処理部217は登録用テキストバッファ39を削除し(S805)、処理を終了する。
一方、登録用テキストバッファ39のテキストデータに、まだ登録バッファ用インデクス40を作成していないものがある場合(S801の“No”)、および、登録用テキストバッファ39の登録バッファ用インデクスフラグに「0」が含まれている場合(S801の“No”)、登録用テキストバッファ39を削除せず、処理を終了する。
このようにすることで、登録用テキストバッファ削除処理部217は、登録用テキストバッファ39のすべてのテキストデータ、すべての文字列について登録バッファ用インデクス40が作成されたことを確認した上で、登録用テキストバッファ39を削除できる。
また、このように登録バッファ用インデクス40を作成済みの登録用テキストバッファ39を主記憶部203上から削除することで、主記憶部203のメモリ容量を有効活用できる。また、データベースアクセス制御部210は、登録用テキストバッファ39を検索する必要がなくなるので検索時間を短縮できる。
また、このように登録バッファ用インデクス40を作成済みの登録用テキストバッファ39を主記憶部203上から削除することで、主記憶部203のメモリ容量を有効活用できる。また、データベースアクセス制御部210は、登録用テキストバッファ39を検索する必要がなくなるので検索時間を短縮できる。
なお、登録用テキストバッファ削除処理部217は、前記した実施の形態において登録用テキストバッファ39のテキストデータのうち、登録バッファ用インデクス40を作成済みのテキストデータのみを削除するようにしてもよい。つまり、登録用テキストバッファ削除処理部217は、登録用テキストバッファ39のテキストデータを部分的に削除するようにしてもよい。例えば、登録用テキストバッファ削除処理部217は、登録用テキストバッファ39のテキストデータのうち、すべての文字に登録バッファ用インデクスフラグ(図2の符号1003参照)「1」が付与されたテキストデータを削除する。
なお、インデクス反映処理部214は、前記した手順により作成された登録バッファ用インデクス40を、インデクス63へ反映する。そして、インデクス反映処理部214はインデクス63へ反映した登録バッファ用インデクス40を削除する。このときのタイミングは、例えば、登録バッファ用インデクス40に格納されたインデクスのデータ量が所定の閾値を超えたときとする。このようにすることで、登録バッファ用インデクス40にある程度のインデクスが蓄積された段階でインデクス63へ反映することになるので、インデクス63へ反映するための処理回数を低減できる。
インデクス63へ反映するタイミングは前記した例の他に、(1)外部装置から検索要求を受信したとき、(2)外部装置から所定の条件を含む検索要求を受信したとき、(3)登録バッファ用インデクス40に格納されるインデクスのデータ量または個数がある閾値を超えたとき、(4)登録バッファ用インデクス40にインデクスが登録されたとき、(5)CPU202の使用率がある閾値以下になったとき、(6)データベースアクセス制御部210の検索性能がある閾値以下になったとき、(7)過去におけるインデクス63の反映タイミングと似た状況になったとき、(8)予め設定された反映日時になったとき、(9)前回のインデクス63の反映から所定時間経過したとき、(10)登録バッファ用インデクス40に格納できる残量が減ってきたときが考えられる。
また、インデクス反映処理部214は、登録バッファ用インデクス40をすべてインデクス63へ反映するのではなく、その一部を反映するようにしてもよい。このときインデクス反映処理部214は、登録バッファ用インデクス40のインデクスのうち、反映待ち時間の長いものから優先的に選択するようにしてもよいし、ランダムに選択するようにしてもよい。さらに、インデクス63へ反映する登録バッファ用インデクス40のインデクスの数は、時間帯によって変更するようにしてもよい。
なお、このようにインデクス反映処理部214が登録バッファ用インデクス40をインデクス63へ反映するために用いるパラメータは、主記憶部203の所定領域に記憶される。
また、前記した実施の形態において、登録バッファ用インデクス40およびインデクス63のグラム数は同じグラム数(例えば、1-gram)としてもよい。このようにすることで、インデクス反映処理部214が、登録バッファ用インデクス40をインデクス63へ反映するときの処理負荷を小さくすることができる。
さらに、前記した実施の形態における検索処理は、文字の検索を例に説明したが、記号の検索処理に適用してもよい。
10 データベース管理システム
39 登録用テキストバッファ
40 登録バッファ用インデクス
41 検索結果判定フラグ
42 検索結果格納エリア
60 データベース
61 定義情報
63 インデクス
201 コンピュータ
202 CPU
203 主記憶部
204,205 端末装置
206 ネットワーク
207 ディスク装置(記憶部)
210 データベースアクセス制御部
211 インデクス管理部
212 インデクス登録処理部
213 インデクス検索処理部
214 インデクス反映処理部
216 データ管理部
217 登録用テキストバッファ削除処理部
220 登録バッファ用インデクス管理部
221 登録バッファ用インデクス登録処理部
222 登録バッファ用インデクス検索処理部
231,232 アプリケーションプログラム
39 登録用テキストバッファ
40 登録バッファ用インデクス
41 検索結果判定フラグ
42 検索結果格納エリア
60 データベース
61 定義情報
63 インデクス
201 コンピュータ
202 CPU
203 主記憶部
204,205 端末装置
206 ネットワーク
207 ディスク装置(記憶部)
210 データベースアクセス制御部
211 インデクス管理部
212 インデクス登録処理部
213 インデクス検索処理部
214 インデクス反映処理部
216 データ管理部
217 登録用テキストバッファ削除処理部
220 登録バッファ用インデクス管理部
221 登録バッファ用インデクス登録処理部
222 登録バッファ用インデクス検索処理部
231,232 アプリケーションプログラム
Claims (8)
- データベースに未反映のデータを蓄積する登録用データバッファと、前記データベースに反映済みのデータを検索するためのインデクスとを記憶する記憶部を備え、前記データの検索要求を受信したとき、前記記憶部の前記インデクスおよび前記登録用データバッファを用いて前記検索要求の対象であるデータを検索するデータベースシステムにおけるデータ登録検索方法において、
前記データの検索要求の受信に応じて、この受信した検索要求の対象であるデータが前記登録用データバッファに蓄積されているとき、前記登録用データバッファのデータに対して検索を行うための登録バッファ用インデクスを作成し、この作成した登録バッファ用インデクスを前記記憶部に記憶し、
データの検索要求の受信に応じて、
前記記憶部の前記インデクス、前記登録バッファ用インデクスおよび前記登録用データバッファを用いて前記検索要求の対象であるデータを検索することを特徴とするデータ登録検索方法。 - 前記データベースシステムは、
前記登録用データバッファのデータのうち、このデータを構成する文字について前記登録バッファ用インデクスを作成したデータを前記登録用データバッファから削除することを特徴とする請求項1に記載のデータ登録検索方法。 - 前記データベースシステムは、
前記登録バッファ用インデクスを前記インデクスに反映し、
前記インデクスに反映した前記登録バッファ用インデクスを前記記憶部から削除することを特徴とする請求項2に記載のデータ登録検索方法。 - 前記データベースシステムは、
前記記憶部に前記登録バッファ用インデクスが所定量記憶されたとき、前記登録バッファ用インデクスを前記インデクスに反映することを特徴とする請求項3に記載のデータ登録検索方法。 - 前記データベースシステムは、
前記登録バッファ用インデクスを作成するとき、前記インデクスと同じグラム数のインデクスを作成することを特徴とする請求項1に記載のデータ登録検索方法。 - 前記データベースシステムは、
前記登録バッファ用インデクスを作成するとき、
この登録バッファ用インデクスの作成元となる前記登録用データバッファにおけるデータごとに、当該データが当該検索要求に示される検索キーワードを含むか否かを判断し、
当該データが当該検索要求に示される検索キーワードを含むとき、
当該データのうち、当該検索キーワードを含む部分に、所定のフラグ値を付与し、
当該データのすべての部分について前記所定のフラグ値が付与されたとき、当該データを前記登録用データバッファから削除することを特徴とする請求項2に記載のデータ登録検索方法。 - 請求項1ないし請求項6のいずれか1項に記載のデータ登録検索方法をコンピュータに実行させることを特徴とするデータ登録検索プログラム。
- データベースに未反映のデータを蓄積する登録用データバッファおよび前記データベースに反映済みのデータを検索するためのインデクスを記憶する記憶部と、
前記データの検索要求を受信し、この受信した検索要求の対象であるデータが前記登録用データバッファに蓄積されているとき、前記登録用データバッファのデータに対して検索を行うための登録バッファ用インデクスを作成し、この作成した登録バッファ用インデクスを記憶部に記憶し、データの検索要求を受信したとき、前記インデクスを用いて前記検索要求の対象であるデータの検索し、前記登録バッファ用インデクスおよび前記登録用データバッファを用いて前記検索要求の対象であるデータの検索するデータベースアクセス制御部とを備えることを特徴とするデータベースシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007200116A JP2009037359A (ja) | 2007-07-31 | 2007-07-31 | データ登録検索方法、データ登録検索プログラムおよびデータベースシステム |
US12/075,056 US20090037381A1 (en) | 2007-07-31 | 2008-03-07 | Data registration and retrieval method, data registration and retrieval program and database system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007200116A JP2009037359A (ja) | 2007-07-31 | 2007-07-31 | データ登録検索方法、データ登録検索プログラムおよびデータベースシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009037359A true JP2009037359A (ja) | 2009-02-19 |
Family
ID=40339062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007200116A Withdrawn JP2009037359A (ja) | 2007-07-31 | 2007-07-31 | データ登録検索方法、データ登録検索プログラムおよびデータベースシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090037381A1 (ja) |
JP (1) | JP2009037359A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016001991A1 (ja) * | 2014-06-30 | 2016-01-07 | 株式会社日立製作所 | 検索方法 |
JPWO2018100734A1 (ja) * | 2016-12-02 | 2019-01-10 | 株式会社日立製作所 | データ処理システム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416929A (zh) * | 2020-11-17 | 2021-02-26 | 四川长虹电器股份有限公司 | 基于mysql和java的检索库管理及数据检索方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5469354A (en) * | 1989-06-14 | 1995-11-21 | Hitachi, Ltd. | Document data processing method and apparatus for document retrieval |
JPH03129472A (ja) * | 1989-07-31 | 1991-06-03 | Ricoh Co Ltd | 文書検索装置における処理方法 |
JP3554459B2 (ja) * | 1997-02-26 | 2004-08-18 | 株式会社日立製作所 | テキストデータ登録検索方法 |
JP3887867B2 (ja) * | 1997-02-26 | 2007-02-28 | 株式会社日立製作所 | 構造化文書の登録方法 |
FR2797067B1 (fr) * | 1999-06-09 | 2005-07-29 | Ricoh Kk | Procede, dispositif et support lisible par ordinateur pour effectuer une recherche de document |
US6339772B1 (en) * | 1999-07-06 | 2002-01-15 | Compaq Computer Corporation | System and method for performing database operations on a continuous stream of tuples |
JP2001109754A (ja) * | 1999-09-30 | 2001-04-20 | Internatl Business Mach Corp <Ibm> | 索引ファイルを使用した検索方法及びそれに用いる装置 |
JP4342753B2 (ja) * | 2001-08-10 | 2009-10-14 | 株式会社リコー | 文書検索装置、文書検索方法、プログラム及びコンピュータに読み取り可能な記憶媒体 |
-
2007
- 2007-07-31 JP JP2007200116A patent/JP2009037359A/ja not_active Withdrawn
-
2008
- 2008-03-07 US US12/075,056 patent/US20090037381A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016001991A1 (ja) * | 2014-06-30 | 2016-01-07 | 株式会社日立製作所 | 検索方法 |
JPWO2016001991A1 (ja) * | 2014-06-30 | 2017-04-27 | 株式会社日立製作所 | 検索方法 |
US10394870B2 (en) | 2014-06-30 | 2019-08-27 | Hitachi, Ltd. | Search method |
JPWO2018100734A1 (ja) * | 2016-12-02 | 2019-01-10 | 株式会社日立製作所 | データ処理システム |
Also Published As
Publication number | Publication date |
---|---|
US20090037381A1 (en) | 2009-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5437557B2 (ja) | 検索処理方法及び検索システム | |
US9767108B2 (en) | Retrieval device, method for controlling retrieval device, and recording medium | |
JP4786945B2 (ja) | インデックス付与強制クエリ | |
US7979438B2 (en) | Document management method and apparatus and document search method and apparatus | |
CN108475266A (zh) | 用来移除匹配文档的匹配修复 | |
JP5345582B2 (ja) | シソーラス構築システム、シソーラス構築方法およびシソーラス構築プログラム | |
JP5686893B2 (ja) | データベース管理システム、装置及び方法 | |
JP2008198237A (ja) | 構造化文書管理システム | |
JP2009037359A (ja) | データ登録検索方法、データ登録検索プログラムおよびデータベースシステム | |
US8019738B2 (en) | Use of fixed field array for document rank data | |
JP2005202714A (ja) | 文書検索システム | |
JP3994188B2 (ja) | マルチメディアデータ検索システム、マルチメディア検索方法および該検索方法を実現するためのプログラム | |
JP2008176565A (ja) | データベース管理方法、そのプログラムおよびデータベース管理装置 | |
JP2008234078A (ja) | 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録した記録媒体 | |
JP2009104669A (ja) | 文書検索方法、システム及びプログラム | |
WO2011099082A1 (ja) | データベース管理システム | |
JP2008234204A (ja) | 文書検索装置、文書検索方法および文書検索プログラム | |
JP6267252B2 (ja) | 検索装置、検索方法及び検索プログラム | |
JP4825504B2 (ja) | データ登録・検索システムおよびデータ登録・検索方法 | |
JP2007200189A (ja) | 文書検索方法、文書検索プログラムおよび文書検索装置 | |
JP4550876B2 (ja) | 構造化文書検索システム及びプログラム | |
JP4521413B2 (ja) | データベース管理システム及びプログラム | |
JP2007025831A (ja) | コンテンツ検索装置及びその方法 | |
JP2002342344A (ja) | 情報提供方法、情報提供システム、プログラム及び記憶媒体 | |
Harrison et al. | Indexing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091014 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110704 |