JP4014417B2 - 全文検索装置 - Google Patents
全文検索装置 Download PDFInfo
- Publication number
- JP4014417B2 JP4014417B2 JP2002036000A JP2002036000A JP4014417B2 JP 4014417 B2 JP4014417 B2 JP 4014417B2 JP 2002036000 A JP2002036000 A JP 2002036000A JP 2002036000 A JP2002036000 A JP 2002036000A JP 4014417 B2 JP4014417 B2 JP 4014417B2
- Authority
- JP
- Japan
- Prior art keywords
- full
- search
- text
- storage unit
- text index
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、全文検索装置に関し、より詳細には、複数の文書データから指定された文字列を含む文書を検索する全文検索装置に関する。本発明は、例えば文書管理システム、電子図書館システム、特許公報検索システムなど、多量の文書データを管理するシステムに適用可能である。
【0002】
【従来の技術】
近年、情報通信技術の発達により電子化された文書及びその文書に関する情報がインターネットなどを介して大量に流通している。この電子化文書及び情報の流通に際し、所望の文書を精度よく、さらには高速に検索する文書検索装置が提案されている。
【0003】
そのような文書検索装置においてはキーワード検索手法や全文検索手法が用いられている。全文検索手法を用いた全文検索装置は、任意の検索文字列と検索対象の文書全てとの間で照合を行なって、検索文字列を含む文書を漏れなく抽出する装置であり、キーワード検索手法のように検索対象となる全ての文書に対してキーワードを予め付与するといった多大な人力が必要ない。全文検索装置としては、様々な種類のものが提案されているが、その1種として転置(索引)ファイル方式を採用した装置がある。転置ファイル方式では、検索のための補助ファイルとして、文字/単語/n-gram(n文字連接)などが出現する文書、或いはそれらの文書中の出現位置を記録する転置ファイルを予め構築し、全文検索時には、転置ファイルのみを用いて検索するもので非常に高速な検索を行なうことが可能であり大量文書の高速検索が要求されるシステムに対して有効である。
【0004】
全文検索方式一般、転置ファイル方式の詳細については、特開平11−073429号公報の従来技術や、全文検索システム協議会平成10年度活動報告(http://www.ftsanet.com/dbtokyo99/Db99.htm)などで述べられており、公知であるのでその説明を省略する。
【0005】
しかしながら、転置ファイル方式では通常原データの数倍にも及ぶ転置ファイルを構築する必要があり、転置ファイル方式の全文索引は登録されている文書データ量が多くなるにしたがって登録・削除処理に時間を要するようになり、全文検索装置としては利用者側からみた登録・削除処理のレスポンスタイムが長くなる。その登録・削除処理の間、検索処理は待たざるを得ない。
【0006】
また、特開平7−146880号公報には、新規文書を登録する際に、主インデックスよりも小さな副インデックスに登録し、登録時間を短くする文書検索装置及び方法が記載されている。しかしながら、同公報に記載の発明では、登録時間が短くなっているとはいえ、新規文書の登録の間、検索処理は行えない。
【0007】
【発明が解決しようとする課題】
本発明は、上述のごとき実情に鑑みてなされたものであり、利用者側からみた登録及び削除処理のレスポンスタイムを短くし、さらに登録処理及び削除処理が終了しないうちから検索処理を行うことが可能な、全文検索装置を提供することをその目的とする。
【0008】
【課題を解決するための手段】
請求項1の発明は、複数の文書データから指定された文字列を含む文書を検索する全文検索装置において、登録された文書データを保存する文書データ記憶部と、検索用の全文索引記憶部と、ユーザからのデータを入力する入力手段と、検索結果を出力する出力手段と、文書データに関する登録処理を行う登録処理手段と、文書データに関する削除処理を行う削除処理手段と、検索処理を行う検索処理手段とを有し、登録用の全文索引記憶部と、削除用の全文索引記憶部とを、前記検索用の全文索引記憶部とは別に有し、さらに、前記登録用の全文索引記憶部及び削除用の全文索引記憶部から、前記検索用の全文索引記憶部へデータをマージするマージ手段と、ロック処理を行うロック処理手段とを有し、前記登録用の全文索引記憶部及び削除用の全文索引記憶部から、前記検索用の全文索引記憶部へデータをマージする際に、前記マージ手段が全文索引の構成要素であるトークンの転置リストごとに処理を行い、前記ロック処理手段が前記転置リストのトークンにロックをかけることを特徴としたものである。
【0010】
請求項2の発明は、請求項1の発明において、前記マージ手段は、前記登録用の全文索引記憶部に登録された文書データ件数が予め指定された件数に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴としたものである。
【0011】
請求項3の発明は、請求項1の発明において、前記マージ手段は、前記登録用の全文索引記憶部の容量が予め指定された容量に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴としたものである。
【0012】
請求項4の発明は、請求項1乃至3のいずれか1の発明において、前記マージ手段は、前記削除用の全文索引記憶部に登録された文書データ件数が予め指定された件数に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴としたものである。
【0013】
請求項5の発明は、請求項1乃至3のいずれか1の発明において、前記マージ手段は、前記削除用の全文索引記憶部の容量が予め指定された容量に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴としたものである。
【0014】
【発明の実施の形態】
本出願人は、従来技術による転置ファイル方式における利用者側からみた登録・削除処理のレスポンスタイムの長さを解消するために、特願2001−223604号明細書において、小規模の全文索引を登録用及び削除用に別に用意し登録及び削除のレスポンスタイムの悪化を防ぎ、検索処理の際には大規模の全文索引の検索結果に、登録用の小規模全文索引の検索結果を加え、削除用の小規模全文索引の検索結果を除き、利用者に返す検索結果とする全文検索装置を提案した。これは、本出願人による特願2001−78026号明細書に記載の手法を全文検索装置に適用し、登録及び削除のレスポンスタイムの悪化を防止したものである。特願2001−223604号明細書に記載の発明では、全文索引の構成要素である転置リストを転送することにより、データ転送に要する時間を短くしたものであり、より具体的には、小規模な全文索引から大規模な全文索引へのデータ転送手段において、元の文書データを用いるのではなく転置ファイル方式の全文索引を用いることによって、データ転送に要する時間を短くしている。
【0015】
なお、上述の特願2001−78026号明細書には、高度な検索要求に高速に応答できる性能を維持しつつ、システム稼働中の更新性能をさらに向上させることができるデータベース管理システム、プログラム、及び記録媒体が記載されており、登録・削除のためのデータ保持手段を検索向けデータ保持手段とは別に用意することによって、登録・削除のスループットを高くすることを特徴としている。しかしながら、上述の特願2001−78026号明細書に記載の手法では、登録用及び削除用の小規模な全文索引から検索用の大規模な全文索引へのデータ転送手段で小規模索引に登録されている文書データの識別子から元の文書データを取得し、大規模な索引に登録及び削除を行っている。上述のごとく、大規模な全文索引への登録・削除処理には時間がかかるので、データ転送処理の時間が長くなり、一般に全文索引への登録・削除処理の間は検索処理が行えないことから、利用者から見た検索処理のレスポンスタイムが悪くなるという問題があった。
【0016】
上述の特願2001−223604号明細書に記載の発明は、全ての転置リストの転送処理が終了するまで検索処理が行えない。すなわち、登録用及び削除用の小規模な全文索引から検索用の大規模な全文索引へのデータ転送が終了しないと、検索処理が行えない。本発明は、トークンにロック処理を加えることにより、転送処理が終了するのを待つことなく検索処理を行えるようにしたものである。換言すると、本発明では、小規模な全文索引から大規模な全文索引へのデータ転送手段において、転送する転置リストのトークンをロックすることにより、転置リスト転送中も検索を行えるようにしている。
【0017】
図1は、本発明の一実施形態に係る全文検索装置の機能を説明するためのブロック図、図2は、図1における全文検索装置をスタンドアロンで構成した場合のハードウェア構成例を示す図、図3は、図1における全文検索装置をサーバ/クライアントで構成した場合のハードウェア構成例を示す図である。
本発明に係る全文検索装置は、複数の文書データ(複数の電子化文書)から指定された文字列を含む文書を検索する装置である。図1を参照すると、本実施形態においては、入力手段(入力処理手段)1では、登録処理用のテキストデータ,削除処理用の文書識別子,検索処理用の検索条件などのデータがユーザから入力され、それぞれ、登録処理手段3,削除処理手段4,検索処理手段5に渡す処理が行われる。登録処理手段3では文書データに関する登録処理を行う。登録処理手段3における登録処理は文書データ記憶部7及び登録用全文索引記憶部(しばしば登録用小規模全文索引記憶部と呼ぶ)9に対して行われる。削除処理手段4では文書データに関する削除処理を行う。削除処理手段4における削除処理は、入力手段1で入力された文書識別子に基づいて、文書データ記憶部7に記憶された文書データを読み出し、テキスト分割手段6を用い、登録用小規模全文索引記憶部9に登録された索引である場合にはそれを削除し、登録された索引でない場合には削除用全文索引記憶部(しばしば削除用小規模全文索引記憶部と呼ぶ)10にその索引を記録する。
【0018】
テキスト分割手段6では、登録処理手段3,削除処理手段4,検索処理手段5の各々で必要な、登録処理における文書データから部分文字列への分割処理、削除処理における文書データから部分文字列への分割処理、検索処理における検索条件(検索文字列)から部分文字列への分割処理を行う。また、検索処理手段5における検索処理は、検索用全文索引記憶部(しばしば検索用大規模全文索引記憶部と呼ぶ)8,登録用小規模全文索引記憶部9,削除用小規模全文索引記憶部10に対して実行し、記憶部8及び9の検索結果から記憶部10における検索結果を差し引いた結果を求め、検索結果として出力手段2で出力する。マージ手段11においては、検索用大規模全文索引記憶部8,登録用小規模全文索引記憶部9,削除用小規模全文索引記憶部10間でのデータ転送を行う。本発明の特徴として、ロック処理手段12では、各手段3,4,5,11におけるそれぞれの処理において、他の処理を防止するためにロックをかけるロック処理を行う。ロック処理手段12はロック処理を管理する管理手段ともいえる。
【0019】
図2に示すスタンドアロンでのハードウェア構成においては、図1における入力手段1は入力装置21に実現され、出力手段2は表示装置22に実現される。各種処理手段3〜6,11,12は主制御装置(CPU,メモリ等)24に、各種記憶部7〜10は記憶装置25に実現される。また、入出力制御装置23は主制御装置24の制御信号に従って入力装置21及び表示装置22を制御する。
【0020】
図3に示すサーバ/クライアントでのハードウェア構成においては、図1における入力手段1はクライアント30の入力装置31で実現され、出力手段2はクライアント30の表示装置32に実現される。各種処理手段3〜6,11,12はクライアント30及びサーバ50の主制御装置(CPU,メモリ等)34,52に実現され、各種記憶部7〜10はサーバ50の記憶装置53に実現される。また、クライアント30,サーバ50のネットワーク制御装置35,51は、ネットワーク40を介してクライアント30とサーバ50の間のデータ伝送等の制御を行う。さらにクライアント30の入出力制御装置33は、主制御装置34の制御信号に従って入力装置21及び表示装置22を制御する。
【0021】
以下に、上述のごとく構成された全文検索装置の動作の一例を詳細に説明する。
図4は、本発明の一実施形態に係る全文検索装置における登録処理を説明するためのフロー図である。
登録処理を実行するには、まず利用者が文書データを作成し、入力手段1からその文書データを登録(入力)する(ステップS1)。登録処理手段3において文書データを文書データ記憶部7に保存し(ステップS3)、同時にその文書データを示す識別子(文書識別子)を定める(ステップS2)。さらに登録処理手段3において、テキスト分割手段6を用いて文書データから部分文字列(トークン)とそのトークンの出現位置情報(転置リスト)を得る(ステップS4)。次に、ロック処理手段12により登録用小規模転置索引記憶部(登録用小規模全文索引記憶部)9にXロックをかける(ステップS5)。Xロックに関しては後述する。トークンを終了するまで(ステップS6でNOの間)、文書識別子と各トークンの出現位置情報を登録用小規模全文索引記憶部9に記録する(ステップS7)。すなわち、転置リストを登録用小規模全文索引記憶部9に挿入する。ステップS6でYESの場合、登録用小規模全文索引記憶部9のXロックをはずし(ステップS8)、処理を終了する。なお、テキスト分割手段6で使用される分割手法については、N文字組をトークンとする手法でもよいし、形態素解析を行い単語をトークンとする手法でもよい。以下の例ではN文字組みをトークンとする手法を用いたテキスト分割手段に限って説明するが形態素解析を行った単語をトークンとする手法に対しても同様に適用可能である。
【0022】
図5は、図1の全文検索装置における処理を説明するための図で、全文索引の一例を示す図である。図5の例を用いて転置ファイル方式の全文索引について詳細に説明する。
登録文書データを文書1,文書2とし、それらの内容(ここではテキスト分割手段6で分割することにより得た内容)がそれぞれ、図5の符号61,62で表されるものとする。ここで、各文書の左の数字は文字列の先頭からの文字数を表している。つまり、文書1では、「全文検索」は先頭から11文字目、「方法」は20,60文字目、「全文検索方法」は31文字目に出現していることを意味する。また文書2では、「探索方法」は先頭から1文字目、「方法」は24文字目、「全文」は30,42文字目に出現していることを意味する。
【0023】
なお、2文字組を部分文字列とする場合、文書中の全ての部分文字列を抽出し、それらの文書内での出現位置(先頭からの文字数)を部分文字列ごとにまとめて索引に記録する。例えば、文書1からは「全文」が11,31の位置、「文検」が12,32の位置に出現しているので、索引に記録する。索引では、文書内での出現位置だけでなく、どの文書に出現したかを識別するための文書識別子と出現回数を加えて記録するので、図5の符号63で示したような形式になる。例えば、「全文」に対する転置リスト{1,2,(11,31)}及び{2,2,(30,42)}はそれぞれ、文書1において2回出現してその位置は11,31であること、及び文書2において2回出現してその位置は30,42であることを意味する。
【0024】
図6及び図7は、本発明の一実施形態に係る全文検索装置における削除処理を説明するためのフロー図である。
削除処理を実行するには、まず利用者が入力手段1から削除する文書の文書識別子を入力するなどして文書削除要求を入力する(ステップS11)。次に、ロック処理手段12により文書にXロックをかけ(ステップS12)、削除処理手段4において文書データ記憶部7から文書識別子に対応する文書データを読み出す(取り出す)(ステップS13)。さらに削除処理手段4において、テキスト分割手段6を用いて文書データから部分文字列(トークン)とそのトークンの出現位置情報を得る(ステップS14)。次に、登録用小規模全文索引記憶部9に削除する文書が存在するかを判断し(ステップS15)、文書識別子が登録用小規模全文索引に登録されていない場合(検索用大規模全文索引に登録されている場合)には(ステップS15でNO)、削除用小規模全文索引記憶部10にXロックをかけ(ステップS16)、トークンが終了するまで(ステップS17でYES)、転置リストを削除用小規模全文索引記憶部10に挿入、すなわち文書識別子と各トークンの出現位置情報を削除用小規模全文索引記憶部10に記録し(ステップS18)、削除用小規模全文索引記憶部10のXロックをはずす(ステップS19)。一方、文書識別子が登録用小規模全文索引に登録されている文書識別子である場合には(ステップS15でYES)、登録用小規模全文索引記憶部9にXロックをかけ(ステップS22)、トークンが終了するまで(ステップS23でYES)、転置リストを登録用小規模全文索引記憶部9から削除、すなわち各トークンの出現位置情報を登録用小規模全文索引記憶部9から削除し(ステップS24)、登録用小規模全文索引記憶部9のXロックをはずす(ステップS25)。ステップS19,S25に続き、削除処理手段4において文書データ記憶部7から文書識別子に対応する文書データを削除し(ステップS20)、文書のXロックをはずして(ステップS21)、削除処理を終了する。
【0025】
図8は、本発明の一実施形態に係る全文検索装置における検索処理を説明するためのフロー図である。
検索処理を実行するには、まず利用者が入力手段1から検索文字列(検索データ)を入力する(ステップS31)。次に、検索処理手段5において、テキスト分割手段6を用いて検索文字列からトークンを得る(ステップS32)。そしてロック処理手段12により全てのトークンにSロックをかけ(ステップS33)、検索処理手段5において検索用大規模全文索引記憶部8の検索用大規模全文索引を用いて、検索文字列を含む文書データの文書識別子の集合(Rs)を得る(ステップS34)とともに、登録用小規模全文索引記憶部9の登録用小規模全文索引を用いて、検索文字列を含む文書データの文書識別子の集合(Ri)を得る(ステップS35)。さらに、検索処理手段5において削除用小規模全文索引記憶部10の削除用小規模全文索引を用いて、検索文字列を含む文書データの文書識別子の集合(Rd)を得る(ステップS36)。そしてロック処理手段12は全てのトークンのSロックをはずし(ステップS37)、検索処理手段5は得られた文書識別子の集合(Rs,Ri,Rd)に対して下記の集合演算を行い(ステップS38)、その結果を検索結果(R)とし、出力手段2を通じて利用者に検索文字列を含む文書データの文書識別子の集合を出力する(ステップS39)。なお、Sロックについては後述する。
R=Rs+Ri−Rd
ただし、+を論理和演算子、−を論理差演算子とする。
【0026】
図5の全文索引63を例として検索処理について詳細に説明する。
検索文字列を「全文検索」とすると、テキスト分割手段が「全文」,「文検」,「検索」の3個のトークンを抽出する。次に全文索引63の対応するトークンの3つの転置リストを調べる。それぞれのトークン出現位置の差が1であるものを探すと文書識別子1の11文字目と31文字目に「全文検索」が存在することがわかる。
【0027】
図9は、本発明の一実施形態に係る全文検索装置におけるマージ処理を説明するためのフロー図である。
転送処理に使用するデータに、転置リストを用いて行うと、元の文書データを用いて登録・削除処理を行う場合に比べて、処理開始時にすでに作成されている転置リストを直接利用するのでテキスト分割処理によるトークンの切り出し及びその転置リスト作成に要する時間が不要となるためデータ転送時間を短くできる。本発明においては転置リスト同士の処理であることからデータ転送処理のことをマージ処理と呼ぶ。
【0028】
マージ処理を実行するには、まず削除用小規模全文索引記憶部10にトークンがあるかを判断し(ステップS41)、存在すれば(ステップS41でYES)、削除用小規模全文索引の全てのトークンに対して、ステップS43〜S45の処理を行う。すなわち、ステップS43ではマージするトークンにXロックをかける。ステップS44では、全文索引からそのトークンの転置リストを取り出し、検索用大規模全文索引の対応するトークンの転置リストから、取り出した転置リスト中の出現位置情報を削除する(転置リストを検索用大規模全文索引記憶部8から削除する)。ステップS45ではマージするトークンのXロックをはずし、ステップS41へ戻る。一方、ステップS41でNOの場合、削除用小規模全文索引記憶部10を空にする(ステップS42)。
【0029】
次に、登録用小規模全文索引記憶部9にトークンがあるかを判断し(ステップS46)、存在すれば(ステップS46でYES)、登録用小規模全文索引の全てのトークンに対して、ステップS48〜S50の処理を行う。すなわち、ステップS48ではマージするトークンにXロックをかける。ステップS49では、全文索引からそのトークンの転置リストを取り出し、検索用大規模全文索引の対応するトークンの転置リストの末尾に先の転置リストを加える(転置リストを検索用大規模全文索引記憶部8に登録する)。ステップS50ではマージしたトークンのXロックをはずし、ステップS46へ戻る。一方、ステップS46でNOの場合、登録用小規模全文索引記憶部9を空にする
【0030】
図10は、図5における全文索引63のトークン「全文」の転置リストを例にマージ処理の概要を説明するための図である。
検索用全文索引の転置リスト71としての、「全文」に対する転置リスト{1,2,(11,31)},{2,2,(30,42)}と、削除用全文索引の転置リスト72としての、「全文」に対する転置リスト{1,2,(11,31)}とのマージ処理73を実行することにより、「全文」に対する転置リスト{2,2,(30,42)}(74)が得られる。さらに、この転置リスト74と、登録用全文索引の転置リスト76としての、「全文」に対する転置リスト{5,2,(4,16)},{8,1,(3)}とをマージ処理75することにより、「全文」に対する転置リスト{2,2,(30,42)},{5,2,(4,16)},{8,1,(3)}(77)が得られる。
【0031】
(マージ処理の形態1)
マージ処理は、登録用小規模全文索引記憶部9における登録用小規模全文索引に登録されている文書識別子の数が予め指定されている数に達したときに登録処理手段3によって起動されるようにしてもよい。
【0032】
(マージ処理の形態2)
マージ処理は、登録用小規模全文索引記憶部9における記憶容量(大きさ)が予め指定されているサイズになったときに登録処理手段3によって起動されるようにしてもよい。この形態により、利用者から登録される文書データの大きさにばらつきがあるような応用形態として使用される場合に、小さな文書データが連続して登録されたときに登録用小規模全文索引への登録時間が長くなる前にマージ処理が開始されることを防ぐことができる。サイズを起動条件にすることでマージの処理時間を均等にすることができる。さらに、前述のマージ処理(形態1)の場合には件数を起動条件にしており全文索引記憶部の大きさを管理する必要がないので処理が簡単になる利点がある。
形態1,2では、文章を登録することが多い場合にも更新処理全体のスループットを上げることができる。
【0033】
(マージ処理の形態3)
削除用小規模全文索引のマージ処理は削除処理手段4によって起動される。起動条件は削除用小規模全文索引に登録されている文書識別子の数が予め指定されている数に達したときとしてもよい。
【0034】
(マージ処理の形態4)
削除用小規模全文索引のマージ処理は削除処理手段4によって起動される。起動条件は削除用小規模全文索引記憶部10の大きさが予め指定されているサイズに達したときとしてもよい。
形態3,4では、文章を削除すること(削除処理)が多い場合にも更新処理全体のスループットを上げることができる。
【0035】
上述のごときマージ処理の各形態により、全文検索装置においては登録・削除する文書データの特徴や利用分野の特徴に適した条件で全文索引のマージ処理を開始することが可能となり、マージ処理の発生回数を減らせ、システム全体のスループットを向上させることが可能となる。
【0036】
図11は、本発明の一実施形態に係る全文検索装置におけるロック処理を説明するためのフロー図である。
ロックにはXとSの2種類のモードがあり、あるオブジェクトにXロックがかかっていると、他のユーザはそのオブジェクトにロックをかけることはできない。また、あるオブジェクトにSロックがかかっていると、他のユーザはそのオブジェクトにはSロックしかかけることはできない。ロック処理手順は、そのような仕組みにより、オブジェクト間の排他制御を行っている。ロック処理手段12におけるロック処理は、まずロック要求があると(ステップS61でYES)、Xロックであるかを判断する(ステップS62)。ステップS62でYESの場合、既にロックされているかを判断し(ステップS63)、ロックされていればロックが解除されるのを待ち(ステップS65)ステップS62へ戻り、ロックされていなければXロックをかけて(ステップS66)、処理を終了する。一方、ステップS62でNOの場合、既にロックされているかを判断し(ステップS64)、ロックされていればステップS65へ進みロックが解除されるのを待ってステップS62へ戻り、ロックされていなければSロックをかけて(ステップS67)、処理を終了する。
【0037】
例えば、あるトークンにXロックがかかっていると、検索するためにそのトークンにSロックをかけようとしたユーザは、Xロックがはずされるまで、待つことになる。また、あるユーザが検索するためにあるトークンにSロックをかけていると、マージ処理を行うためにそのトークンにXロックをかけようとしたマージ処理手順は、検索が終了し、そのトークンのSロックがはずされるまで、待つことになる。
【0038】
以上、本発明の全文検索装置を中心に各実施形態を説明してきたが、本発明は、これら全文検索装置における処理手順を含んでなる全文検索方法、これら全文検索装置として機能させるためのプログラム、又はその各手段として機能させるためのプログラムとしても、或いは、そのプログラムを記録したコンピュータ読み取り可能な記録媒体としての形態も可能である。
【0039】
本発明による全文検索の機能を実現するためのプログラムやデータを記憶した記録媒体の実施形態を説明する。記録媒体としては、具体的には、CD−ROM、光磁気ディスク、DVD−ROM、FD、フラッシュメモリ、及びその他各種ROMやRAM等が想定でき、これら記録媒体に上述した本発明の各実施形態の装置の機能をコンピュータに実行させ、全文検索の機能を実現するためのプログラムを記録して流通させることにより、当該機能の実現を容易にする。そしてコンピュータ等の情報処理装置に上記のごとくの記録媒体を装着して情報処理装置によりプログラムを読み出すか、若しくは情報処理装置が備えている記憶媒体に当該プログラムを記憶させておき、必要に応じて読み出すことにより、本発明に係わる全文検索機能を実行することができる。
【0040】
【発明の効果】
本発明によれば、全文検索装置における登録・削除処理を小規模な全文索引記憶部に対して行うので、その処理時間は短く抑えることが可能となり、利用者へのレスポンスタイムを短くすることが可能となる。さらに、本発明によれば、検索用全文索引へのデータ登録・削除の際に、トークンにロックをかけながら既に作成されている転置リストを直接利用することができるので、検索用全文索引へのマージ処理の時間を短縮でき、また、同時に検索処理を行うこともできる。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係る全文検索装置の機能を説明するためのブロック図である。
【図2】 図1における全文検索装置をスタンドアロンで構成した場合のハードウェア構成例を示す図である。
【図3】 図1における全文検索装置をサーバ/クライアントで構成した場合のハードウェア構成例を示す図である。
【図4】 本発明の一実施形態に係る全文検索装置における登録処理を説明するためのフロー図である。
【図5】 図1の全文検索装置における処理を説明するための図で、全文索引の一例を示す図である。
【図6】 本発明の一実施形態に係る全文検索装置における削除処理を説明するためのフロー図である。
【図7】 本発明の一実施形態に係る全文検索装置における削除処理を説明するためのフロー図である。
【図8】 本発明の一実施形態に係る全文検索装置における検索処理を説明するためのフロー図である。
【図9】 本発明の一実施形態に係る全文検索装置におけるマージ処理を説明するためのフロー図である。
【図10】 図5における全文索引のトークン「全文」の転置リストを例にマージ処理の概要を説明するための図である。
【図11】 本発明の一実施形態に係る全文検索装置におけるロック処理を説明するためのフロー図である。
【符号の説明】
1…入力手段、2…出力手段、3…登録処理手段、4…削除処理手段、5…検索処理手段、6…テキスト分割手段、7…文書データ記憶部、8…検索用大規模全文索引記憶部、9…登録用小規模全文索引記憶部、10…削除用小規模全文索引記憶部、11…マージ手段、12…ロック処理手段、21,31…入力装置、22,32…表示装置、23,33…入出力制御装置、24,34,52…主制御装置(CPU・メモリ)、25,53…記憶装置、30…クライアント、35,51…ネットワーク制御装置、40…ネットワーク、50…サーバ。
Claims (5)
- 複数の文書データから指定された文字列を含む文書を検索する全文検索装置において、登録された文書データを保存する文書データ記憶部と、検索用の全文索引記憶部と、ユーザからのデータを入力する入力手段と、検索結果を出力する出力手段と、文書データに関する登録処理を行う登録処理手段と、文書データに関する削除処理を行う削除処理手段と、検索処理を行う検索処理手段とを有し、登録用の全文索引記憶部と、削除用の全文索引記憶部とを、前記検索用の全文索引記憶部とは別に有し、さらに、前記登録用の全文索引記憶部及び削除用の全文索引記憶部から、前記検索用の全文索引記憶部へデータをマージするマージ手段と、ロック処理を行うロック処理手段とを有し、前記登録用の全文索引記憶部及び削除用の全文索引記憶部から、前記検索用の全文索引記憶部へデータをマージする際に、前記マージ手段が全文索引の構成要素であるトークンの転置リストごとに処理を行い、前記ロック処理手段が前記転置リストのトークンにロックをかけることを特徴とする全文検索装置。
- 前記マージ手段は、前記登録用の全文索引記憶部に登録された文書データ件数が予め指定された件数に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴とする請求項1記載の全文検索装置。
- 前記マージ手段は、前記登録用の全文索引記憶部の容量が予め指定された容量に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴とする請求項1記載の全文検索装置。
- 前記マージ手段は、前記削除用の全文索引記憶部に登録された文書データ件数が予め指定された件数に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴とする請求項1乃至3のいずれか1記載の全文検索装置。
- 前記マージ手段は、前記削除用の全文索引記憶部の容量が予め指定された容量に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴とする請求項1乃至3のいずれか1記載の全文検索装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002036000A JP4014417B2 (ja) | 2002-02-13 | 2002-02-13 | 全文検索装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002036000A JP4014417B2 (ja) | 2002-02-13 | 2002-02-13 | 全文検索装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003242180A JP2003242180A (ja) | 2003-08-29 |
JP4014417B2 true JP4014417B2 (ja) | 2007-11-28 |
Family
ID=27778027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002036000A Expired - Fee Related JP4014417B2 (ja) | 2002-02-13 | 2002-02-13 | 全文検索装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4014417B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100458784C (zh) * | 2006-04-06 | 2009-02-04 | 中国科学院计算技术研究所 | 在数字图书馆中所采用的检索***和检索方法 |
-
2002
- 2002-02-13 JP JP2002036000A patent/JP4014417B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003242180A (ja) | 2003-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6853992B2 (en) | Structured-document search apparatus and method, recording medium storing structured-document searching program, and method of creating indexes for searching structured documents | |
US9195738B2 (en) | Tokenization platform | |
JP5437557B2 (ja) | 検索処理方法及び検索システム | |
JP5128101B2 (ja) | 大規模フルテキスト・インデックスでタキソノミーにインデックスを付け、探索することをサポートする方法、装置およびシステム | |
JP2000181917A (ja) | 構造化文書管理方法及びその実施装置並びにその処理プログラムを記録した媒体 | |
JP4237813B2 (ja) | 構造化文書管理システム | |
JP3868171B2 (ja) | 文書のデジタル署名付き管理方法および文書管理装置 | |
JP3752945B2 (ja) | ディレクトリ検索システム及び方法、ディレクトリ検索プログラムを記録したコンピュータ読取可能な記録媒体 | |
JP4014417B2 (ja) | 全文検索装置 | |
KR102375511B1 (ko) | 복수의 문서 저장소들과 연동하여 클라이언트 단말로부터 수신된 문서 파일의 저장 처리를 수행하는 문서 저장 관리 서버 및 그 동작 방법 | |
JP4219125B2 (ja) | 全文検索装置、全文検索方法、プログラム、及び記録媒体 | |
JP4091586B2 (ja) | 構造化文書管理システム、索引構築方法及びプログラム | |
JP4304226B2 (ja) | 構造化文書管理システム、構造化文書管理方法及びプログラム | |
JP4034503B2 (ja) | 文書検索システムおよび文書検索方法 | |
JP3578045B2 (ja) | 全文検索方法及び装置及び全文検索プログラムを格納した記憶媒体 | |
JP4160627B2 (ja) | 構造化文書管理システム及びプログラム | |
van den Berg et al. | Matching source code using abstract syntax trees in version control systems | |
JP2004013764A (ja) | 全文検索装置、プログラム、及び記録媒体 | |
JPH09212523A (ja) | 全文検索方法 | |
JP2004030425A (ja) | インデックスファイル検索装置およびインデックスファイル検索方法 | |
JP2005196382A (ja) | 情報管理システムによるデータ登録方法、データ参照方法、ならびに、情報管理システムにおけるマスタデータベースサーバ | |
JPH03137772A (ja) | データベース利用システム | |
JP2001154890A (ja) | Rdbデータキャッシングシステム及び記録媒体 | |
JPS62159223A (ja) | 文書情報検索方式 | |
JPH04250568A (ja) | レコード検索装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041005 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070626 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070816 |
|
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: 20070911 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070911 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100921 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4014417 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110921 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120921 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130921 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |