(57)【特許請求の範囲】
【請求項１】
複数の文書データから指定された文字列を含む文書を検索する全文検索装置において、登録された文書データを保存する文書データ記憶部と、検索用の全文索引記憶部と、ユーザからのデータを入力する入力手段と、検索結果を出力する出力手段と、文書データに関する登録処理を行う登録処理手段と、文書データに関する削除処理を行う削除処理手段と、検索処理を行う検索処理手段とを有し、登録用の全文索引記憶部と、削除用の全文索引記憶部とを、前記検索用の全文索引記憶部とは別に有し、さらに、前記登録用の全文索引記憶部及び削除用の全文索引記憶部から、前記検索用の全文索引記憶部へデータをマージするマージ手段と、ロック処理を行うロック処理手段とを有し、前記登録用の全文索引記憶部及び削除用の全文索引記憶部から、前記検索用の全文索引記憶部へデータをマージする際に、前記マージ手段が全文索引の構成要素であるトークンの転置リストごとに処理を行い、前記ロック処理手段が前記転置リストのトークンにロックをかけることを特徴とする全文検索装置。
【請求項２】
前記マージ手段は、前記登録用の全文索引記憶部に登録された文書データ件数が予め指定された件数に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴とする請求項１記載の全文検索装置。
【請求項３】
前記マージ手段は、前記登録用の全文索引記憶部の容量が予め指定された容量に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴とする請求項１記載の全文検索装置。
【請求項４】
前記マージ手段は、前記削除用の全文索引記憶部に登録された文書データ件数が予め指定された件数に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴とする請求項１乃至３のいずれか１記載の全文検索装置。
【請求項５】
前記マージ手段は、前記削除用の全文索引記憶部の容量が予め指定された容量に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴とする請求項１乃至３のいずれか１記載の全文検索装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、全文検索装置に関し、より詳細には、複数の文書データから指定された文字列を含む文書を検索する全文検索装置に関する。本発明は、例えば文書管理システム、電子図書館システム、特許公報検索システムなど、多量の文書データを管理するシステムに適用可能である。
【０００２】
【従来の技術】
近年、情報通信技術の発達により電子化された文書及びその文書に関する情報がインターネットなどを介して大量に流通している。この電子化文書及び情報の流通に際し、所望の文書を精度よく、さらには高速に検索する文書検索装置が提案されている。
【０００３】
そのような文書検索装置においてはキーワード検索手法や全文検索手法が用いられている。全文検索手法を用いた全文検索装置は、任意の検索文字列と検索対象の文書全てとの間で照合を行なって、検索文字列を含む文書を漏れなく抽出する装置であり、キーワード検索手法のように検索対象となる全ての文書に対してキーワードを予め付与するといった多大な人力が必要ない。全文検索装置としては、様々な種類のものが提案されているが、その１種として転置（索引）ファイル方式を採用した装置がある。転置ファイル方式では、検索のための補助ファイルとして、文字／単語／n-gram（n文字連接）などが出現する文書、或いはそれらの文書中の出現位置を記録する転置ファイルを予め構築し、全文検索時には、転置ファイルのみを用いて検索するもので非常に高速な検索を行なうことが可能であり大量文書の高速検索が要求されるシステムに対して有効である。
【０００４】
全文検索方式一般、転置ファイル方式の詳細については、特開平１１−０７３４２９号公報の従来技術や、全文検索システム協議会平成１０年度活動報告(http://www.ftsanet.com/dbtokyo99/Db99.htm)などで述べられており、公知であるのでその説明を省略する。
【０００５】
しかしながら、転置ファイル方式では通常原データの数倍にも及ぶ転置ファイルを構築する必要があり、転置ファイル方式の全文索引は登録されている文書データ量が多くなるにしたがって登録・削除処理に時間を要するようになり、全文検索装置としては利用者側からみた登録・削除処理のレスポンスタイムが長くなる。その登録・削除処理の間、検索処理は待たざるを得ない。
【０００６】
また、特開平７−１４６８８０号公報には、新規文書を登録する際に、主インデックスよりも小さな副インデックスに登録し、登録時間を短くする文書検索装置及び方法が記載されている。しかしながら、同公報に記載の発明では、登録時間が短くなっているとはいえ、新規文書の登録の間、検索処理は行えない。
【０００７】
【発明が解決しようとする課題】
本発明は、上述のごとき実情に鑑みてなされたものであり、利用者側からみた登録及び削除処理のレスポンスタイムを短くし、さらに登録処理及び削除処理が終了しないうちから検索処理を行うことが可能な、全文検索装置を提供することをその目的とする。
【０００８】
【課題を解決するための手段】
請求項１の発明は、複数の文書データから指定された文字列を含む文書を検索する全文検索装置において、登録された文書データを保存する文書データ記憶部と、検索用の全文索引記憶部と、ユーザからのデータを入力する入力手段と、検索結果を出力する出力手段と、文書データに関する登録処理を行う登録処理手段と、文書データに関する削除処理を行う削除処理手段と、検索処理を行う検索処理手段とを有し、登録用の全文索引記憶部と、削除用の全文索引記憶部とを、前記検索用の全文索引記憶部とは別に有し、さらに、前記登録用の全文索引記憶部及び削除用の全文索引記憶部から、前記検索用の全文索引記憶部へデータをマージするマージ手段と、ロック処理を行うロック処理手段とを有し、前記登録用の全文索引記憶部及び削除用の全文索引記憶部から、前記検索用の全文索引記憶部へデータをマージする際に、前記マージ手段が全文索引の構成要素であるトークンの転置リストごとに処理を行い、前記ロック処理手段が前記転置リストのトークンにロックをかけることを特徴としたものである。
【００１０】
請求項２の発明は、請求項１の発明において、前記マージ手段は、前記登録用の全文索引記憶部に登録された文書データ件数が予め指定された件数に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴としたものである。
【００１１】
請求項３の発明は、請求項１の発明において、前記マージ手段は、前記登録用の全文索引記憶部の容量が予め指定された容量に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴としたものである。
【００１２】
請求項４の発明は、請求項１乃至３のいずれか１の発明において、前記マージ手段は、前記削除用の全文索引記憶部に登録された文書データ件数が予め指定された件数に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴としたものである。
【００１３】
請求項５の発明は、請求項１乃至３のいずれか１の発明において、前記マージ手段は、前記削除用の全文索引記憶部の容量が予め指定された容量に達したときに、前記検索用の全文索引記憶部にデータをマージする処理を行うことを特徴としたものである。
【００１４】
【発明の実施の形態】
本出願人は、従来技術による転置ファイル方式における利用者側からみた登録・削除処理のレスポンスタイムの長さを解消するために、特願２００１−２２３６０４号明細書において、小規模の全文索引を登録用及び削除用に別に用意し登録及び削除のレスポンスタイムの悪化を防ぎ、検索処理の際には大規模の全文索引の検索結果に、登録用の小規模全文索引の検索結果を加え、削除用の小規模全文索引の検索結果を除き、利用者に返す検索結果とする全文検索装置を提案した。これは、本出願人による特願２００１−７８０２６号明細書に記載の手法を全文検索装置に適用し、登録及び削除のレスポンスタイムの悪化を防止したものである。特願２００１−２２３６０４号明細書に記載の発明では、全文索引の構成要素である転置リストを転送することにより、データ転送に要する時間を短くしたものであり、より具体的には、小規模な全文索引から大規模な全文索引へのデータ転送手段において、元の文書データを用いるのではなく転置ファイル方式の全文索引を用いることによって、データ転送に要する時間を短くしている。
【００１５】
なお、上述の特願２００１−７８０２６号明細書には、高度な検索要求に高速に応答できる性能を維持しつつ、システム稼働中の更新性能をさらに向上させることができるデータベース管理システム、プログラム、及び記録媒体が記載されており、登録・削除のためのデータ保持手段を検索向けデータ保持手段とは別に用意することによって、登録・削除のスループットを高くすることを特徴としている。しかしながら、上述の特願２００１−７８０２６号明細書に記載の手法では、登録用及び削除用の小規模な全文索引から検索用の大規模な全文索引へのデータ転送手段で小規模索引に登録されている文書データの識別子から元の文書データを取得し、大規模な索引に登録及び削除を行っている。上述のごとく、大規模な全文索引への登録・削除処理には時間がかかるので、データ転送処理の時間が長くなり、一般に全文索引への登録・削除処理の間は検索処理が行えないことから、利用者から見た検索処理のレスポンスタイムが悪くなるという問題があった。
【００１６】
上述の特願２００１−２２３６０４号明細書に記載の発明は、全ての転置リストの転送処理が終了するまで検索処理が行えない。すなわち、登録用及び削除用の小規模な全文索引から検索用の大規模な全文索引へのデータ転送が終了しないと、検索処理が行えない。本発明は、トークンにロック処理を加えることにより、転送処理が終了するのを待つことなく検索処理を行えるようにしたものである。換言すると、本発明では、小規模な全文索引から大規模な全文索引へのデータ転送手段において、転送する転置リストのトークンをロックすることにより、転置リスト転送中も検索を行えるようにしている。
【００１７】
図１は、本発明の一実施形態に係る全文検索装置の機能を説明するためのブロック図、図２は、図１における全文検索装置をスタンドアロンで構成した場合のハードウェア構成例を示す図、図３は、図１における全文検索装置をサーバ／クライアントで構成した場合のハードウェア構成例を示す図である。
本発明に係る全文検索装置は、複数の文書データ（複数の電子化文書）から指定された文字列を含む文書を検索する装置である。図１を参照すると、本実施形態においては、入力手段（入力処理手段）１では、登録処理用のテキストデータ，削除処理用の文書識別子，検索処理用の検索条件などのデータがユーザから入力され、それぞれ、登録処理手段３，削除処理手段４，検索処理手段５に渡す処理が行われる。登録処理手段３では文書データに関する登録処理を行う。登録処理手段３における登録処理は文書データ記憶部７及び登録用全文索引記憶部（しばしば登録用小規模全文索引記憶部と呼ぶ）９に対して行われる。削除処理手段４では文書データに関する削除処理を行う。削除処理手段４における削除処理は、入力手段１で入力された文書識別子に基づいて、文書データ記憶部７に記憶された文書データを読み出し、テキスト分割手段６を用い、登録用小規模全文索引記憶部９に登録された索引である場合にはそれを削除し、登録された索引でない場合には削除用全文索引記憶部（しばしば削除用小規模全文索引記憶部と呼ぶ）１０にその索引を記録する。
【００１８】
テキスト分割手段６では、登録処理手段３，削除処理手段４，検索処理手段５の各々で必要な、登録処理における文書データから部分文字列への分割処理、削除処理における文書データから部分文字列への分割処理、検索処理における検索条件（検索文字列）から部分文字列への分割処理を行う。また、検索処理手段５における検索処理は、検索用全文索引記憶部（しばしば検索用大規模全文索引記憶部と呼ぶ）８，登録用小規模全文索引記憶部９，削除用小規模全文索引記憶部１０に対して実行し、記憶部８及び９の検索結果から記憶部１０における検索結果を差し引いた結果を求め、検索結果として出力手段２で出力する。マージ手段１１においては、検索用大規模全文索引記憶部８，登録用小規模全文索引記憶部９，削除用小規模全文索引記憶部１０間でのデータ転送を行う。本発明の特徴として、ロック処理手段１２では、各手段３，４，５，１１におけるそれぞれの処理において、他の処理を防止するためにロックをかけるロック処理を行う。ロック処理手段１２はロック処理を管理する管理手段ともいえる。
【００１９】
図２に示すスタンドアロンでのハードウェア構成においては、図１における入力手段１は入力装置２１に実現され、出力手段２は表示装置２２に実現される。各種処理手段３〜６，１１，１２は主制御装置（ＣＰＵ，メモリ等）２４に、各種記憶部７〜１０は記憶装置２５に実現される。また、入出力制御装置２３は主制御装置２４の制御信号に従って入力装置２１及び表示装置２２を制御する。
【００２０】
図３に示すサーバ／クライアントでのハードウェア構成においては、図１における入力手段１はクライアント３０の入力装置３１で実現され、出力手段２はクライアント３０の表示装置３２に実現される。各種処理手段３〜６，１１，１２はクライアント３０及びサーバ５０の主制御装置（ＣＰＵ，メモリ等）３４，５２に実現され、各種記憶部７〜１０はサーバ５０の記憶装置５３に実現される。また、クライアント３０，サーバ５０のネットワーク制御装置３５，５１は、ネットワーク４０を介してクライアント３０とサーバ５０の間のデータ伝送等の制御を行う。さらにクライアント３０の入出力制御装置３３は、主制御装置３４の制御信号に従って入力装置２１及び表示装置２２を制御する。
【００２１】
以下に、上述のごとく構成された全文検索装置の動作の一例を詳細に説明する。
図４は、本発明の一実施形態に係る全文検索装置における登録処理を説明するためのフロー図である。
登録処理を実行するには、まず利用者が文書データを作成し、入力手段１からその文書データを登録（入力）する（ステップＳ１）。登録処理手段３において文書データを文書データ記憶部７に保存し（ステップＳ３）、同時にその文書データを示す識別子（文書識別子）を定める（ステップＳ２）。さらに登録処理手段３において、テキスト分割手段６を用いて文書データから部分文字列（トークン）とそのトークンの出現位置情報（転置リスト）を得る（ステップＳ４）。次に、ロック処理手段１２により登録用小規模転置索引記憶部（登録用小規模全文索引記憶部）９にＸロックをかける（ステップＳ５）。Ｘロックに関しては後述する。トークンを終了するまで（ステップＳ６でＮＯの間）、文書識別子と各トークンの出現位置情報を登録用小規模全文索引記憶部９に記録する（ステップＳ７）。すなわち、転置リストを登録用小規模全文索引記憶部９に挿入する。ステップＳ６でＹＥＳの場合、登録用小規模全文索引記憶部９のＸロックをはずし（ステップＳ８）、処理を終了する。なお、テキスト分割手段６で使用される分割手法については、Ｎ文字組をトークンとする手法でもよいし、形態素解析を行い単語をトークンとする手法でもよい。以下の例ではＮ文字組みをトークンとする手法を用いたテキスト分割手段に限って説明するが形態素解析を行った単語をトークンとする手法に対しても同様に適用可能である。
【００２２】
図５は、図１の全文検索装置における処理を説明するための図で、全文索引の一例を示す図である。図５の例を用いて転置ファイル方式の全文索引について詳細に説明する。
登録文書データを文書１，文書２とし、それらの内容（ここではテキスト分割手段６で分割することにより得た内容）がそれぞれ、図５の符号６１，６２で表されるものとする。ここで、各文書の左の数字は文字列の先頭からの文字数を表している。つまり、文書１では、「全文検索」は先頭から１１文字目、「方法」は２０，６０文字目、「全文検索方法」は３１文字目に出現していることを意味する。また文書２では、「探索方法」は先頭から１文字目、「方法」は２４文字目、「全文」は３０，４２文字目に出現していることを意味する。
【００２３】
なお、２文字組を部分文字列とする場合、文書中の全ての部分文字列を抽出し、それらの文書内での出現位置（先頭からの文字数）を部分文字列ごとにまとめて索引に記録する。例えば、文書１からは「全文」が１１，３１の位置、「文検」が１２，３２の位置に出現しているので、索引に記録する。索引では、文書内での出現位置だけでなく、どの文書に出現したかを識別するための文書識別子と出現回数を加えて記録するので、図５の符号６３で示したような形式になる。例えば、「全文」に対する転置リスト｛１，２，（１１，３１）｝及び｛２，２，（３０，４２）｝はそれぞれ、文書１において２回出現してその位置は１１，３１であること、及び文書２において２回出現してその位置は３０，４２であることを意味する。
【００２４】
図６及び図７は、本発明の一実施形態に係る全文検索装置における削除処理を説明するためのフロー図である。
削除処理を実行するには、まず利用者が入力手段１から削除する文書の文書識別子を入力するなどして文書削除要求を入力する（ステップＳ１１）。次に、ロック処理手段１２により文書にＸロックをかけ（ステップＳ１２）、削除処理手段４において文書データ記憶部７から文書識別子に対応する文書データを読み出す（取り出す）（ステップＳ１３）。さらに削除処理手段４において、テキスト分割手段６を用いて文書データから部分文字列（トークン）とそのトークンの出現位置情報を得る（ステップＳ１４）。次に、登録用小規模全文索引記憶部９に削除する文書が存在するかを判断し（ステップＳ１５）、文書識別子が登録用小規模全文索引に登録されていない場合（検索用大規模全文索引に登録されている場合）には（ステップＳ１５でＮＯ）、削除用小規模全文索引記憶部１０にＸロックをかけ（ステップＳ１６）、トークンが終了するまで（ステップＳ１７でＹＥＳ）、転置リストを削除用小規模全文索引記憶部１０に挿入、すなわち文書識別子と各トークンの出現位置情報を削除用小規模全文索引記憶部１０に記録し（ステップＳ１８）、削除用小規模全文索引記憶部１０のＸロックをはずす（ステップＳ１９）。一方、文書識別子が登録用小規模全文索引に登録されている文書識別子である場合には（ステップＳ１５でＹＥＳ）、登録用小規模全文索引記憶部９にＸロックをかけ（ステップＳ２２）、トークンが終了するまで（ステップＳ２３でＹＥＳ）、転置リストを登録用小規模全文索引記憶部９から削除、すなわち各トークンの出現位置情報を登録用小規模全文索引記憶部９から削除し（ステップＳ２４）、登録用小規模全文索引記憶部９のＸロックをはずす（ステップＳ２５）。ステップＳ１９，Ｓ２５に続き、削除処理手段４において文書データ記憶部７から文書識別子に対応する文書データを削除し（ステップＳ２０）、文書のＸロックをはずして（ステップＳ２１）、削除処理を終了する。
【００２５】
図８は、本発明の一実施形態に係る全文検索装置における検索処理を説明するためのフロー図である。
検索処理を実行するには、まず利用者が入力手段１から検索文字列（検索データ）を入力する（ステップＳ３１）。次に、検索処理手段５において、テキスト分割手段６を用いて検索文字列からトークンを得る（ステップＳ３２）。そしてロック処理手段１２により全てのトークンにＳロックをかけ（ステップＳ３３）、検索処理手段５において検索用大規模全文索引記憶部８の検索用大規模全文索引を用いて、検索文字列を含む文書データの文書識別子の集合（Ｒｓ）を得る（ステップＳ３４）とともに、登録用小規模全文索引記憶部９の登録用小規模全文索引を用いて、検索文字列を含む文書データの文書識別子の集合（Ｒｉ）を得る（ステップＳ３５）。さらに、検索処理手段５において削除用小規模全文索引記憶部１０の削除用小規模全文索引を用いて、検索文字列を含む文書データの文書識別子の集合（Ｒｄ）を得る（ステップＳ３６）。そしてロック処理手段１２は全てのトークンのＳロックをはずし（ステップＳ３７）、検索処理手段５は得られた文書識別子の集合（Ｒｓ，Ｒｉ，Ｒｄ）に対して下記の集合演算を行い（ステップＳ３８）、その結果を検索結果（Ｒ）とし、出力手段２を通じて利用者に検索文字列を含む文書データの文書識別子の集合を出力する（ステップＳ３９）。なお、Ｓロックについては後述する。
Ｒ＝Ｒｓ＋Ｒｉ−Ｒｄ
ただし、＋を論理和演算子、−を論理差演算子とする。
【００２６】
図５の全文索引６３を例として検索処理について詳細に説明する。
検索文字列を「全文検索」とすると、テキスト分割手段が「全文」，「文検」，「検索」の３個のトークンを抽出する。次に全文索引６３の対応するトークンの３つの転置リストを調べる。それぞれのトークン出現位置の差が１であるものを探すと文書識別子１の１１文字目と３１文字目に「全文検索」が存在することがわかる。
【００２７】
図９は、本発明の一実施形態に係る全文検索装置におけるマージ処理を説明するためのフロー図である。
転送処理に使用するデータに、転置リストを用いて行うと、元の文書データを用いて登録・削除処理を行う場合に比べて、処理開始時にすでに作成されている転置リストを直接利用するのでテキスト分割処理によるトークンの切り出し及びその転置リスト作成に要する時間が不要となるためデータ転送時間を短くできる。本発明においては転置リスト同士の処理であることからデータ転送処理のことをマージ処理と呼ぶ。
【００２８】
マージ処理を実行するには、まず削除用小規模全文索引記憶部１０にトークンがあるかを判断し（ステップＳ４１）、存在すれば（ステップＳ４１でＹＥＳ）、削除用小規模全文索引の全てのトークンに対して、ステップＳ４３〜Ｓ４５の処理を行う。すなわち、ステップＳ４３ではマージするトークンにＸロックをかける。ステップＳ４４では、全文索引からそのトークンの転置リストを取り出し、検索用大規模全文索引の対応するトークンの転置リストから、取り出した転置リスト中の出現位置情報を削除する（転置リストを検索用大規模全文索引記憶部８から削除する）。ステップＳ４５ではマージするトークンのＸロックをはずし、ステップＳ４１へ戻る。一方、ステップＳ４１でＮＯの場合、削除用小規模全文索引記憶部１０を空にする（ステップＳ４２）。
【００２９】
次に、登録用小規模全文索引記憶部９にトークンがあるかを判断し（ステップＳ４６）、存在すれば（ステップＳ４６でＹＥＳ）、登録用小規模全文索引の全てのトークンに対して、ステップＳ４８〜Ｓ５０の処理を行う。すなわち、ステップＳ４８ではマージするトークンにＸロックをかける。ステップＳ４９では、全文索引からそのトークンの転置リストを取り出し、検索用大規模全文索引の対応するトークンの転置リストの末尾に先の転置リストを加える（転置リストを検索用大規模全文索引記憶部８に登録する）。ステップＳ５０ではマージしたトークンのＸロックをはずし、ステップＳ４６へ戻る。一方、ステップＳ４６でＮＯの場合、登録用小規模全文索引記憶部９を空にする
【００３０】
図１０は、図５における全文索引６３のトークン「全文」の転置リストを例にマージ処理の概要を説明するための図である。
検索用全文索引の転置リスト７１としての、「全文」に対する転置リスト｛１，２，（１１，３１）｝，｛２，２，（３０，４２）｝と、削除用全文索引の転置リスト７２としての、「全文」に対する転置リスト｛１，２，（１１，３１）｝とのマージ処理７３を実行することにより、「全文」に対する転置リスト｛２，２，（３０，４２）｝（７４）が得られる。さらに、この転置リスト７４と、登録用全文索引の転置リスト７６としての、「全文」に対する転置リスト｛５，２，（４，１６）｝，｛８，１，（３）｝とをマージ処理７５することにより、「全文」に対する転置リスト｛２，２，（３０，４２）｝，｛５，２，（４，１６）｝，｛８，１，（３）｝（７７）が得られる。
【００３１】
（マージ処理の形態１）
マージ処理は、登録用小規模全文索引記憶部９における登録用小規模全文索引に登録されている文書識別子の数が予め指定されている数に達したときに登録処理手段３によって起動されるようにしてもよい。
【００３２】
（マージ処理の形態２）
マージ処理は、登録用小規模全文索引記憶部９における記憶容量（大きさ）が予め指定されているサイズになったときに登録処理手段３によって起動されるようにしてもよい。この形態により、利用者から登録される文書データの大きさにばらつきがあるような応用形態として使用される場合に、小さな文書データが連続して登録されたときに登録用小規模全文索引への登録時間が長くなる前にマージ処理が開始されることを防ぐことができる。サイズを起動条件にすることでマージの処理時間を均等にすることができる。さらに、前述のマージ処理（形態１）の場合には件数を起動条件にしており全文索引記憶部の大きさを管理する必要がないので処理が簡単になる利点がある。
形態１，２では、文章を登録することが多い場合にも更新処理全体のスループットを上げることができる。
【００３３】
（マージ処理の形態３）
削除用小規模全文索引のマージ処理は削除処理手段４によって起動される。起動条件は削除用小規模全文索引に登録されている文書識別子の数が予め指定されている数に達したときとしてもよい。
【００３４】
（マージ処理の形態４）
削除用小規模全文索引のマージ処理は削除処理手段４によって起動される。起動条件は削除用小規模全文索引記憶部１０の大きさが予め指定されているサイズに達したときとしてもよい。
形態３，４では、文章を削除すること（削除処理）が多い場合にも更新処理全体のスループットを上げることができる。
【００３５】
上述のごときマージ処理の各形態により、全文検索装置においては登録・削除する文書データの特徴や利用分野の特徴に適した条件で全文索引のマージ処理を開始することが可能となり、マージ処理の発生回数を減らせ、システム全体のスループットを向上させることが可能となる。
【００３６】
図１１は、本発明の一実施形態に係る全文検索装置におけるロック処理を説明するためのフロー図である。
ロックにはＸとＳの２種類のモードがあり、あるオブジェクトにＸロックがかかっていると、他のユーザはそのオブジェクトにロックをかけることはできない。また、あるオブジェクトにＳロックがかかっていると、他のユーザはそのオブジェクトにはＳロックしかかけることはできない。ロック処理手順は、そのような仕組みにより、オブジェクト間の排他制御を行っている。ロック処理手段１２におけるロック処理は、まずロック要求があると（ステップＳ６１でＹＥＳ）、Ｘロックであるかを判断する（ステップＳ６２）。ステップＳ６２でＹＥＳの場合、既にロックされているかを判断し（ステップＳ６３）、ロックされていればロックが解除されるのを待ち（ステップＳ６５）ステップＳ６２へ戻り、ロックされていなければＸロックをかけて（ステップＳ６６）、処理を終了する。一方、ステップＳ６２でＮＯの場合、既にロックされているかを判断し（ステップＳ６４）、ロックされていればステップＳ６５へ進みロックが解除されるのを待ってステップＳ６２へ戻り、ロックされていなければＳロックをかけて（ステップＳ６７）、処理を終了する。
【００３７】
例えば、あるトークンにＸロックがかかっていると、検索するためにそのトークンにＳロックをかけようとしたユーザは、Ｘロックがはずされるまで、待つことになる。また、あるユーザが検索するためにあるトークンにＳロックをかけていると、マージ処理を行うためにそのトークンにＸロックをかけようとしたマージ処理手順は、検索が終了し、そのトークンのＳロックがはずされるまで、待つことになる。
【００３８】
以上、本発明の全文検索装置を中心に各実施形態を説明してきたが、本発明は、これら全文検索装置における処理手順を含んでなる全文検索方法、これら全文検索装置として機能させるためのプログラム、又はその各手段として機能させるためのプログラムとしても、或いは、そのプログラムを記録したコンピュータ読み取り可能な記録媒体としての形態も可能である。
【００３９】
本発明による全文検索の機能を実現するためのプログラムやデータを記憶した記録媒体の実施形態を説明する。記録媒体としては、具体的には、ＣＤ−ＲＯＭ、光磁気ディスク、ＤＶＤ−ＲＯＭ、ＦＤ、フラッシュメモリ、及びその他各種ＲＯＭやＲＡＭ等が想定でき、これら記録媒体に上述した本発明の各実施形態の装置の機能をコンピュータに実行させ、全文検索の機能を実現するためのプログラムを記録して流通させることにより、当該機能の実現を容易にする。そしてコンピュータ等の情報処理装置に上記のごとくの記録媒体を装着して情報処理装置によりプログラムを読み出すか、若しくは情報処理装置が備えている記憶媒体に当該プログラムを記憶させておき、必要に応じて読み出すことにより、本発明に係わる全文検索機能を実行することができる。
【００４０】
【発明の効果】
本発明によれば、全文検索装置における登録・削除処理を小規模な全文索引記憶部に対して行うので、その処理時間は短く抑えることが可能となり、利用者へのレスポンスタイムを短くすることが可能となる。さらに、本発明によれば、検索用全文索引へのデータ登録・削除の際に、トークンにロックをかけながら既に作成されている転置リストを直接利用することができるので、検索用全文索引へのマージ処理の時間を短縮でき、また、同時に検索処理を行うこともできる。
【図面の簡単な説明】
【図１】  本発明の一実施形態に係る全文検索装置の機能を説明するためのブロック図である。
【図２】  図１における全文検索装置をスタンドアロンで構成した場合のハードウェア構成例を示す図である。
【図３】  図１における全文検索装置をサーバ／クライアントで構成した場合のハードウェア構成例を示す図である。
【図４】  本発明の一実施形態に係る全文検索装置における登録処理を説明するためのフロー図である。
【図５】  図１の全文検索装置における処理を説明するための図で、全文索引の一例を示す図である。
【図６】  本発明の一実施形態に係る全文検索装置における削除処理を説明するためのフロー図である。
【図７】  本発明の一実施形態に係る全文検索装置における削除処理を説明するためのフロー図である。
【図８】  本発明の一実施形態に係る全文検索装置における検索処理を説明するためのフロー図である。
【図９】  本発明の一実施形態に係る全文検索装置におけるマージ処理を説明するためのフロー図である。
【図１０】  図５における全文索引のトークン「全文」の転置リストを例にマージ処理の概要を説明するための図である。
【図１１】  本発明の一実施形態に係る全文検索装置におけるロック処理を説明するためのフロー図である。
【符号の説明】
１…入力手段、２…出力手段、３…登録処理手段、４…削除処理手段、５…検索処理手段、６…テキスト分割手段、７…文書データ記憶部、８…検索用大規模全文索引記憶部、９…登録用小規模全文索引記憶部、１０…削除用小規模全文索引記憶部、１１…マージ手段、１２…ロック処理手段、２１，３１…入力装置、２２，３２…表示装置、２３，３３…入出力制御装置、２４，３４，５２…主制御装置（ＣＰＵ・メモリ）、２５，５３…記憶装置、３０…クライアント、３５，５１…ネットワーク制御装置、４０…ネットワーク、５０…サーバ。
【図１】
0004014417.tif 000002
【図２】
0004014417.tif 000003
【図３】
0004014417.tif 000004
【図４】
0004014417.tif 000005
【図５】
0004014417.tif 000006
【図６】
0004014417.tif 000007
【図７】
0004014417.tif 000008
【図８】
0004014417.tif 000009
【図９】
0004014417.tif 000010
【図１０】
0004014417.tif 000011
【図１１】
0004014417.tif 000012