(57)【要約】【課題】検索条件によりインデックスを用いた検索とインデックスを用いない検索のどちらの検索処理方法を実行するか判断し、検索条件に適した検索処理を実行する。【解決手段】クエリと検索対象の所在情報を入力として受け取る入力手段３０１と、入力手段３０１により入力された所在情報が有効なものであるかを判定する所在情報判定手段３０４と、インデックスの存在を判定するインデックス判定手段３０３と、所在情報判定手段３０４の判定結果およびインデックス判定手段３０３の判定結果に基づき、検索処理を行う検索処理手段３０５とを備える。これにより、検索条件によりインデックスを用いた検索とインデックスを用いない検索のどちらの検索処理方法を実行するか判断し、検索条件に適した検索処理を実行することができる。【選択図】  図３
2009294795.tif 000002
【特許請求の範囲】
【請求項１】
検索処理を行う検索処理方法であって、
クエリと検索対象の所在情報を入力として受け取る入力工程と、
前記入力工程により入力された所在情報が有効なものであるかを判定する所在情報判定工程と、
インデックスの存在を判定するインデックス判定工程と、
前記所在情報判定工程の判定結果および前記インデックス判定工程の判定結果に基づき検索処理を行う検索処理工程とを有することを特徴とする検索処理方法。
【請求項２】
前記検索処理工程は、前記所在情報判定工程の判定結果が無効である場合もしくは前記インデックス判定工程の判定結果がインデックスありの場合、インデックスを用いる検索処理を行い、前記インデックス判定工程の判定結果がインデックスなしの場合、検索対象を読み込み、検索処理を行うことを特徴とする請求項１に記載の検索処理方法。
【請求項３】
前記インデックス判定工程は、検索対象が構造化文書であり、かつ同一の構造を持つ文書のインデックスがすでに存在する場合、インデックスを自動的に作成することを特徴とする請求項１に記載の検索処理方法。
【請求項４】
検索処理を行う検索処理装置であって、
クエリと検索対象の所在情報を入力として受け取る入力手段と、
前記入力手段により入力された所在情報が有効なものであるかを判定する所在情報判定手段と、
インデックスの存在を判定するインデックス判定手段と、
前記所在情報判定手段の判定結果および前記インデックス判定手段の判定結果に基づき、検索処理を行う検索処理手段とを備えることを特徴とする検索処理装置。
【請求項５】
前記検索処理手段は、前記所在情報判定手段の判定結果が無効である場合もしくは前記インデックス判定手段の判定結果がインデックスありの場合、インデックスを用いる検索処理を行い、前記インデックス判定手段の判定結果がインデックスなしの場合、検索対象を読み込み、検索処理を行うことを特徴とする請求項４に記載の検索処理装置。
【請求項６】
前記インデックス判定手段は、検索対象が構造化文書であり、かつ同一の構造を持つ文書のインデックスがすでに存在する場合、インデックスを自動的に作成することを特徴とする請求項４に記載の検索処理装置。
【請求項７】
請求項１に記載の検索処理方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指定されたキーワードを含む文書を検索する検索処理装置に関する。
【背景技術】
【０００２】
従来、検索処理を行う検索処理装置においては、検索時にあらかじめ作成しておいたインデックスを参照して検索処理を行うものがあった。また、検索対象データを読み込み、読み込んだデータとクエリとのマッチングにより検索処理を行うものもある。
【０００３】
しかしながら、インデックスを用いた検索処理装置では、検索対象となる文書あるいは文書集合のインデックスをあらかじめ作成しておく必要があり、インデックスに登録されていない文書を検索することは困難である。一方、検索対象データを読み込み、検索処理を実行する方法では、インデックスを持ち合わせていないため処理速度などの面において問題を生じることがあった。
【０００４】
そこで、特許文献１ではインデックスによる検索処理を行い、入力キーワードがインデックスに登録されていない場合に検索対象の文書集合の文字列サーチを行う。これにより、インデックスを用いた検索処理と検索対象を読み込む検索処理の双方の処理を実現し、インデックスを用いる利点とインデックスが存在しない場合の問題点の解消を図っている。
【０００５】
【特許文献１】特開平９−１９８３９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述した特許文献１の方法では、必ずインデックスを参照した検索処理を行う必要がある。この場合には、インデックスに登録されていない文書の検索を行いたい場合も、インデックス参照による検索処理のオーバヘッドが生じる。
【０００７】
また、インデックスに登録されていない文書が検索された場合、自動的にインデックスに登録する処理も行われるため、検索処理以外の時間が余分に生じる。さらには、以降の検索処理において検索対象としたくない文書も登録してしまい不要にインデックスサイズを増大させる可能性があった。
【０００８】
そこで、本発明では検索条件によりインデックスを用いた検索とインデックスを用いない検索のどちらの検索処理方法を実行するか判断し、検索条件に適した検索処理を実行する検索処理方法の実現を目的とする。
【課題を解決するための手段】
【０００９】
本発明の検索処理方法は、検索処理を行う検索処理方法であって、クエリと検索対象の所在情報を入力として受け取る入力工程と、前記入力工程により入力された所在情報が有効なものであるかを判定する所在情報判定工程と、インデックスの存在を判定するインデックス判定工程と、前記所在情報判定工程の判定結果および前記インデックス判定工程の判定結果に基づき検索処理を行う検索処理工程とを有することを特徴とする。
また、本発明の検索処理装置は、検索処理を行う検索処理装置であって、クエリと検索対象の所在情報を入力として受け取る入力手段と、前記入力手段により入力された所在情報が有効なものであるかを判定する所在情報判定手段と、インデックスの存在を判定するインデックス判定手段と、前記所在情報判定手段の判定結果および前記インデックス判定手段の判定結果に基づき、検索処理を行う検索処理手段とを備えることを特徴とする。
また、本発明のプログラムは、上記に記載の検索処理方法の各工程をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１０】
本発明によれば、登録されているインデックスを用いる検索処理を行うか否かを選択することにより、インデックスに登録されていないにもかかわらずインデックスを参照する処理を行う必要が無くなる。また、検索対象範囲を示す所在情報を指定することができるので、インデックスがある場合はもとよりインデックスがない場合も検索対象範囲に絞った検索処理が行われるため、検索処理速度の向上が見込まれる。
【発明を実施するための最良の形態】
【００１１】
＜第１の実施の形態＞
本実施形態では、図１から図８を用いて本発明の好適な実施形態を詳細に説明する。図１は、本発明に係る検索処理装置を有する情報処理装置より構成されるネットワークシステムを示す図である。
【００１２】
ネットワークシステムは各種データの伝送媒体となるネットワーク１００上に複数の情報処理装置１０１〜１０５が接続されている。ネットワーク１００は例えばＥｔｈｅｒｎｅｔ（登録商標）のようなＬＡＮ（Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）あるいはインターネットのような広域情報通信網であってもよい。各情報処理装置１０１〜１０５は図２において後述する通信装置２０８を介して接続されている。
【００１３】
図２は、本発明に係る情報処理装置のハードウエア構成を示す図である。図２において２０１は、マイクロプロセッサＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）である。これは各処理のための演算、論理判断等を行い、バス２０９を介してそれらのバスに接続された各構成要素を制御する。
【００１４】
２０２は読み出し専用の固定メモリＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）であり、本実施形態で実行される処理プログラム等の制御プログラムコードを記憶する。２０３は書き込み可能なＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）であり、各構成要素からの各種データの一時記憶に用いられる。
【００１５】
２０４は入力装置であり、情報（データ）の入力に用いられる。２０５は陰極線管ＣＲＴ（Ｃａｔｈｏｄ−Ｒａｙ Ｔｕｂｅ）や液晶パネル等の表示装置であり、その表示装置におけるドット構成の表示パターンおよびカーソルの表示を表示装置コントローラ２０６で制御する。
【００１６】
２０７は外部記憶装置であり、種々の情報が格納される。また、これらのデータおよびプログラムを格納する記憶媒体としては、ＲＯＭ、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリカード、光磁気ディスクなどを用いることができる。
【００１７】
２０８は通信装置であり、Ｅｔｈｅｒｎｅｔなどのネットワークに接続し、ネットワークシステムにおいて複数の情報処理装置同士を接続する役割を担う。
【００１８】
係る各構成要素からなる情報処理装置においては、入力装置２０４からの各種の入力および通信装置２０８から供給されるネットワーク経由の各種入力に応じて作動するものである。入力装置２０４からの入力および通信装置２０８からの入力が供給されると、まず、インタラプト信号がＣＰＵ２０１に送られる。そして、そのＣＰＵ２０１が外部記憶装置２０７内に記憶してある各種の制御信号を読み出し、それらの制御信号に従って、各種の制御が行われる。
【００１９】
また、本発明に係わるプログラムを格納した記憶媒体をシステムあるいは装置に供給する。そのシステムあるいは装置のコンピュータが、記憶媒体に格納されたプログラムコードを読み出し実行することによっても本発明は達成される。
【００２０】
図３は、本発明に係る検索処理装置を構成する機能ブロック図である。図３に示すように検索処理装置は、入力手段３０１、表示手段３０２、インデックス判定手段３０３、所在情報判定手段３０４、検索処理手段３０５、スキーマ判定手段３０６を有する。さらには、インデックス作成手段３０７、インデックス保持手段３０８を有する。
【００２１】
入力手段３０１は、操作者による検索条件や検索対象範囲を示すＵＲＬの入力などを受け付ける。検索条件や検索対象範囲の入力は、キーボードやマウスといった入力デバイスを用いて行われる。
【００２２】
表示手段３０２は、操作者により入力された検索条件や検索処理の結果が表示される。所在情報判定手段３０４は、操作者により入力された検索対象範囲を示すＵＲＬが有効なものであるか判断する。
【００２３】
インデックス判定手段３０３は、後述するインデックス保持手段３０８に保持される情報を用いて、操作者により入力された検索対象範囲のＸＭＬ文書集合がインデックスに登録されているか判定する。
【００２４】
検索処理手段３０５は、所在情報判定手段３０４もしくはインデックス判定手段３０３の判定結果に基づき検索処理を実行する。検索処理に関しては、図４を用いて後述する。
【００２５】
スキーマ判定手段３０６は、インデックス判定手段３０３においてインデックスに登録されていないと判断された構造化文書と同一の構造を持つＸＭＬ文書がインデックスに登録されていないか判定する。
【００２６】
インデックス作成手段３０７は、ＸＭＬ文書のインデックス登録処理を行う。作成されたインデックスは、後述するインデックス保持手段３０８に保持される。インデックス登録処理は、操作者による指示に基づき行われる。また、スキーマ判定手段３０６において、検索対象ＸＭＬ文書と同一構造のＸＭＬ文書がインデックスに登録されていると判断された場合にも検索対象ＸＭＬ文書の登録処理が行われる。
【００２７】
インデックス保持手段３０８は、ＸＭＬ文書のキーワードおよび構造、所在情報を保持する。これらの情報は、インデックス作成手段３０７により作成される。インデックス情報の具体例については、図６を用いて後述する。
【００２８】
図４は、本実施形態における検索処理を示すフローチャートである。以下、各処理の具体例を示すため、図５から図７を用いる。図５は、操作者により入力される入力データであり、検索キーワード５０１および要素指定５０２と検索対象範囲ＵＲＬ５０３である。図６Ａ〜Ｅはインデックスの一例、図７Ａ〜Ｃは検索対象となるＸＭＬ文書の一例を示す。図６Ａ〜Ｅについては、後に詳述する。
【００２９】
ステップＳ４００では、入力された検索対象範囲を示すＵＲＬが有効なものであるかを判定する。判定の結果、検索対象範囲を示すＵＲＬが有効である場合、ステップＳ４０１へ移行する。検索対象範囲を示すＵＲＬが指定されていない、もしくは無効である場合、ステップＳ４０４へ移行する。判定処理は、ＵＲＬで示される場所に実際にアクセスすることにより行う。アクセス可能であれば、有効であり、不可能であれば無効である。
【００３０】
例えば、図５のＵＲＬ５０３（“ｈｔｔｐ：／／ｆｏｏ．ｂａｒ／ｄａｔａ／”）にアクセスを行い、アクセス可能であればＵＲＬ５０３は有効であると判定される。
【００３１】
ステップＳ４０１では、入力された検索対象範囲ＵＲＬで示されるＸＭＬ文書集合がインデックスに登録されているか判定する。インデックスに登録されていると判定された場合、ステップＳ４０４へ移行する。インデックスに登録されていないと判定された場合、ステップＳ４０２へ移行する。
【００３２】
例えば、図５のＵＲＬ５０３（“ｈｔｔｐ：／／ｆｏｏ．ｂａｒ／ｄａｔａ／”）は、図６ＡのＵＲＬ６０１よりインデックスに登録されていることがわかる。
【００３３】
ステップＳ４０２では、ステップＳ４０１においてインデックスに登録されていないと判定されたＸＭＬ文書と同一の構造を持つＸＭＬ文書が既にインデックスに登録されているか判定する。判定処理は、インデックスに登録されていないと判定されたＸＭＬの構造とインデックス情報として保持される構造情報を用いて行われる。
【００３４】
例えば、インデックスに登録されていないと判定されたＸＭＬ文書が図７Ａであるとする。構造の判定は、図７Ａの文書のスキーマを既存のスキーマ作成技術により作成する。
【００３５】
作成されるスキーマ情報は、図６Ｅスキーマテーブルに登録されているスキーマの情報と同じデータ形式として作成される。そして、作成されたスキーマ情報と等しい情報が図６Ｅのスキーマテーブルに登録されているかを判定し、構造の判定を行う。
【００３６】
ステップＳ４０３では、ステップＳ４０２において同一構造を持つＸＭＬ文書がインデックスに登録されていると判定されたＸＭＬ文書をインデックスに登録する。
【００３７】
ステップＳ４０４では、検索キーワードおよび要素指定を用いてインデックスを参照することで検索処理を行う。
【００３８】
例えば、図５の検索キーワード５０１および要素指定５０２を用いて検索処理を行う場合を考える。検索キーワード５０１（“ｕｎｉｑｕｅ”）は、図６Ｄのキーワードテーブルより、位置２７１、１４２５９、１４２７９であることがわかる。さらに、要素指定５０２（“／ｂｏｏｋｓ／ｂｏｏｋ／ｓｕｍｍａｒｙ”）は、図６Ｃの要素テーブルより、Ｆ位置２６６、４５２２、Ｌ位置２７９、４５３０であることがわかる。したがって、要素指定５０２（“／ｂｏｏｋｓ／ｂｏｏｋ／ｓｕｍｍａｒｙ”）で指定される要素中に検索キーワード（“ｕｎｉｑｕｅ”）を含むものは、図６Ｄのキーワードテーブルの位置２７１のものだけであることがわかる。
【００３９】
位置２７１を含む文書は、図６Ｂの文書テーブルよりＵＲＬ“ｈｔｔｐ：／／ｆｏｏ．ｂａｒ／ｄａｔａ／ｂｏｏｋｓ．ｘｍｌ”であることがわかり、このＵＲＬで示されるＸＭＬ文書が検索結果となる。
【００４０】
ステップＳ４０５では、入力された検索対象範囲ＵＲＬで示されるＸＭＬ文書集合の文字列サーチにより検索処理を行う。例えば、図７Ｂに示すＸＭＬ文書は、要素“／ｂｏｏｋｓ／ｂｏｏｋ／ｓｕｍｍａｒｙ”に“ｕｎｉｑｕｅ”を含むため、検索結果として扱われる。
【００４１】
一方、図７ＣのＸＭＬ文書は、“ｕｎｉｑｕｅ”を含むが、要素“／ｂｏｏｋｓ／ｂｏｏｋ／ｓｕｍｍａｒｙ”ではなく、要素“／ｂｏｏｋｓ／ｂｏｏｋ／ｔｉｔｌｅ”に含むため、一致したことにはならない。
【００４２】
ステップＳ４０６では、ステップＳ４０５もしくはステップＳ４０６における検索処理の結果を出力する。例えば、図８に示すように、検索結果ＸＭＬ文書のＵＲＬ一覧を表示する。
【００４３】
図６Ａ〜Ｅは、本実施形態におけるインデックスの一例を示す図である。インデックスは、図６Ａに示す登録ＵＲＬテーブル、図６Ｂに示す文書テーブル、図６Ｃに示す要素テーブル、図６Ｄに示すキーワードテーブル、図６Ｅに示すスキーマテーブルから構成される。
【００４４】
図６Ａに示す登録ＵＲＬテーブルは、インデックスに登録された文書集合を示すＵＲＬの一覧である。例えば、図６ＡからはＵＲＬ“ｈｔｔｐ：／／ｆｏｏ．ｂａｒ／ｄａｔａ／”で示される文書集合がインデックスに登録されていることがわかる。
【００４５】
図６Ｂに示す文書テーブルは、インデックスに登録された文書のＵＲＬを示す文書ＵＲＬ６０２、文書の最初のキーワード位置を示すＦ位置６０３、文書の最後のキーワード位置を示すＬ位置６０４から構成される。キーワード位置は１から始まり、文書中のキーワード個数により加算されていく。例えば、一番初めに登録された文書のキーワード数が３０である場合、Ｆ位置は１であり、Ｌ位置は３０となる。複数の文書がインデックスに登録される場合、キーワード位置は、直前に登録された文書のＬ位置６０４に１を加算したものから始まる。
【００４６】
例えば、一番初めにインデックスへ登録された文書のＬ位置６０４が３０である場合は、次に登録される文書のＦ位置６０３が３１となる。Ｆ位置６０３とＬ位置６０４は、後述する図６Ｄに示すキーワードテーブル中のキーワード位置６０９からキーワードを含む文書を特定するために使用される。
【００４７】
例えば、キーワード位置６０９が１０である場合、Ｆ位置６０３からＬ位置６０４の範囲で１０を含む文書が該キーワードを含む文書と特定される。
【００４８】
図６Ｃに示す要素テーブルは、インデックスに登録された要素を示す要素６０５、要素の最初のキーワード位置リストを示すＦ位置リスト６０６、要素の最後のキーワード位置リストを示すＬ位置リスト６０７から構成される。インデックスに登録される要素は、複数の文書で同じ要素が存在するためにリスト構成をとっている。
【００４９】
例えば、文書１と文書２に同じ要素が存在する場合などは、文書１における要素のＦ位置およびＬ位置と文書２における要素のＦ位置およびＬ位置からＦ位置のリストとＬ位置のリストを作成する。Ｆ位置リスト６０６とＬ位置リスト６０７は、要素により検索条件を絞り込む際に使用される。
【００５０】
例えば、キーワード位置６０９が１０、１００である場合で、Ｆ位置リスト６０６が２、５００、Ｌ位置リスト６０７が１２、５２０である場合を考える。この場合、キーワード位置６０９の値１０はＦ位置リスト６０６の値２とＬ位置リスト６０７の値１２の範囲内であるため有効であると判断される。
【００５１】
一方、キーワード位置６０９の値１００は、Ｆ位置リスト６０６とＬ位置リスト６０７の範囲内の値ではないため、無効なキーワード位置と判断する。
【００５２】
図６Ｄに示すキーワードテーブルは、インデックスに登録されたキーワードを示すキーワード６０８、キーワードの位置を示すキーワード位置６０９から構成される。
【００５３】
図６Ｅに示すスキーマテーブルは、インデックスに登録されたＸＭＬ文書のスキーマ情報６１０を保持する。スキーマ情報は、登録ＸＭＬ文書から既存のスキーマ作成技術を用いて自動的に作成される。作成されたスキーマ情報は、バイナリ形式のデータで保持してもよいし、単にテキスト形式のデータで保持してもよい。
【００５４】
なお、本発明の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムが記録媒体に格納されたプログラムコードを読み出し実行してもよい。
【００５５】
この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５６】
プログラムコードを供給するための記憶媒体としては、例えば、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００５７】
また、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００５８】
さらに、プログラムコードの指示に基づき、その機能拡張ボード等に備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施形態におけるネットワークシステム構成図を示す図である。
【図２】本発明の実施形態における装置構成図を示す図である。
【図３】本発明の実施形態における機能ブロック図を示す図である。
【図４】本発明の実施形態における検索処理を示すフローチャートである。
【図５】本発明の実施形態における入力データの一例を示す図である。
【図６Ａ】本発明の実施形態におけるインデックスの一例のうち、登録ＵＲＬテーブルを示す図である。
【図６Ｂ】本発明の実施形態におけるインデックスの一例のうち、文書テーブルを示す図である。
【図６Ｃ】本発明の実施形態におけるインデックスの一例のうち、要素テーブルを示す図である。
【図６Ｄ】本発明の実施形態におけるインデックスの一例のうち、キーワードテーブルを示す図である。
【図６Ｅ】本発明の実施形態におけるインデックスの一例のうち、スキーマテーブルを示す図である。
【図７Ａ】本発明の実施形態におけるＸＭＬ文書の一例を示す図である。
【図７Ｂ】本発明の実施形態におけるＸＭＬ文書の一例を示す図である。
【図７Ｃ】本発明の実施形態におけるＸＭＬ文書の一例を示す図である。
【図８】本発明の実施形態における検索結果一覧の一例を示す図である。
【符号の説明】
【００６０】
１００  ネットワーク
１０１、１０２、１０３、１０４、１０５  情報処理装置
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  入力装置
２０５  表示装置
２０６  表示コントローラ
２０７  外部記憶装置
２０８  通信装置
３０１  入力手段
３０２  表示手段
３０３  所在情報判定手段
３０４  インデックス判定手段
３０５  検索処理手段
３０６  スキーマ判定手段
３０７  インデックス作成手段
３０８  インデックス保持手段
【図１】
2009294795.tif 000003
【図２】
2009294795.tif 000004
【図３】
2009294795.tif 000005
【図４】
2009294795.tif 000006
【図５】
2009294795.tif 000007
【図６Ａ】
2009294795.tif 000008
【図６Ｂ】
2009294795.tif 000009
【図６Ｃ】
2009294795.tif 000010
【図６Ｄ】
2009294795.tif 000011
【図６Ｅ】
2009294795.tif 000012
【図７Ａ】
2009294795.tif 000013
【図７Ｂ】
2009294795.tif 000014
【図７Ｃ】
2009294795.tif 000015
【図８】
2009294795.tif 000016