(57)【要約】【課題】　複数の外部情報源のデータに対し、同じ検索式を使って、情報検索を可能にする。【解決手段】　統合型情報検索システムにおいて、インデックス生成の際に、外部情報源検索手段78が、外部情報源からデータを読み出し、データ変換手段76が、データ中のインデックスを生成する対象の属性に対し、データ変換が必要かどうかを判定し、必要な場合に、属性値を変換する。更に、式計算手段75、インデックス生成手段77は、データ変換手段76で処理された値に対し、インデックスを生成し、インデックス記憶部34、インデックス値記憶部35に登録する。情報検索システムの検索式評価手段は、登録されたインデックスを用いるインデックス検索により問合せの指定する条件検索を実施する。【選択図】　図９
2004046906.tif 000002
【特許請求の範囲】
【請求項１】
　複数の情報源中の属性値を予め定めた統一形式に変換するデータ変換手段と、
　前記データ変換手段により変換された値に対してインデックスを生成するインデックス生成手段と、
　前記インデックス生成手段により生成されたインデックスを使ってインデックス検索を行うインデックス検索手段と、
　前記インデックス検索手段を使って問合せの指定する条件検索を実施する検索式評価手段と、
　を備えたことを特徴とする情報検索システム。
【請求項２】
　情報検索システムのデータ変換手段が、複数の情報源中の属性値を予め定めた統一形式に変換し、
　前記情報検索システムのインデックス生成手段が、前記データ変換手段により変換された値に対してインデックスを生成して前記情報検索システムの記憶装置に格納し、
　前記情報検索システムのインデックス検索手段が、前記インデックス生成手段により生成されたインデックスを使ってインデックス検索を行い、
　前記情報検索システムの検索式評価手段が、前記インデックス検索により問合せの指定する条件検索を実施することを特徴とする情報検索方法。
【請求項３】
　複数の情報源中の属性値を予め定めた統一形式に変換するデータ変換処理と、
　前記データ変換処理により変換された値に対してインデックスを生成するインデックス生成処理と、
　前記インデックス生成処理により生成されたインデックスを使ってインデックス検索を行うインデックス検索処理と、
　前記インデックス検索処理を使って問合せの指定する条件検索を実施する検索式評価処理と、
　をコンピュータに実行させるためのプログラムを格納した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体に関し、特に大規模情報源から高速に目的の情報を抽出できる情報検索システム、情報検索方法および情報検索用プログラム製品、並びにこれを担持する媒体（特に記録媒体）に関する。
【背景技術】
【０００２】
　従来、情報検索手段は、データベース管理システム、データウェアハウス、データマートなどの情報源において、そこに格納されたデータを検索し、要求された値、データあるいはその集合を返却するために用いられている。
【０００３】
　ある情報源に対する検索要求である問合せは、一般に、検索条件式と、検索結果として何を返却するかを指定する出力式を含む。情報源の一つであるデータベースに対する問合せには、SQL（Structured Query Language）言語が一般に用いられているが、SQLでは例えば、以下のような式により、検索条件式と出力式を含む問合せを記述する。
SELECT <出力式>
FROM <検索対象リスト>
WHERE <検索条件式>
　図1(A)は、問合せを解釈し、検索結果を返却する従来の情報検索システムの構成を示すブロック図である。
【０００４】
　図1(A)を参照すると、従来システムは、キーボードなどの入力装置1と、プログラム制御により動作するデータ処理装置2と、情報を記憶する記憶装置3と、ディスプレイ装置や印刷装置などの出力装置4とを含む。
【０００５】
　記憶装置3は、インデックス記憶部31と実データ記憶部30とを備えている。
【０００６】
　実データ記憶部30は、そのシステムが定めたデータ構造で情報を保持している。
【０００７】
　インデックス記憶部31は、実データから抽出した任意の属性値あるいはその組合せと、実データを一意に識別するためのIDとのペアであるインデックス（索引）を保持している。このIDを以下、データID（誤解を生じないであろう場合には単に"ID"）と呼ぶ。データIDは、一意な値、あるいは、複数の値の組合せによってシステム中での一意性を確保する。インデックスは、B-木（B-tree）やハッシュ（hashing）などの構造によって管理することが一般的である。
【０００８】
　データ処理装置2は、検索手段21とインデックス生成手段22を備える。
【０００９】
　検索手段21は、検索式評価手段211、出力式評価手段212、インデックス検索手段213、実データ検索手段214とを備える。
【００１０】
　検索式評価手段211は、入力装置1から与えられた問合せ文字列を解析し、インデックス検索手段213あるいは実データ検索手段214を利用して条件を満足するデータIDの集合を取得する。問合せの条件式中にインデックスが生成されている属性が記述されている場合には、インデックス検索手段213を利用し、そうでない場合には、実データ検索手段214を利用して検索する。
【００１１】
　出力式評価手段212は、検索式評価手段211の検索結果であるデータIDの集合について、出力式に指定されている形式の検索結果を作成し、出力装置4に出力する。検索結果作成にあたり、実データ検索手段214により、出力式に指定されている属性値を取得する。
【００１２】
　インデックス検索手段213は、インデックス記憶部31を検索し、条件を満足する属性値を持つ実データのIDを取得し、返却する。
【００１３】
　実データ検索手段214は、実データ記憶部30を検索し、条件を満足する実データのIDを検索する。また、与えられたデータIDに対応する実データあるいは指定された属性値を、実データ記憶部30から取得する。
【００１４】
　インデックス生成手段22は、検索に先立ち、実データ記憶部30から実データを読み出し、指定された属性あるいはその組合せに対してインデックスを生成して、それをインデックス記憶部31に格納する。
【００１５】
　近年、このような情報検索システムを利用して大量データを検索・分析するOLAP (OnLine Analytical Processing) やデータマイニングなどのアプリケーションが増加している。この種のアプリケーションでは、段階的に変化させた条件による複数の問合せを実行してデータを分類したり、データの持つ属性に計算を施し、得られた値を利用して全体データの特徴を分析するなどの処理を行う。
【００１６】
　特に、データマイニングのように、様々な計算を伴う多様なマイニング手法が提案され、それが改良され続けている分野では、それぞれの手法に必要な計算手法を高速に計算するための支援が必要である。また、そこで扱われるデータの特性に応じた高速なデータ取り出し手法（インデックス）がサポートされることが望ましい。
【００１７】
　また、画像や音声などのマルチメディア・データを扱うアプリケーションでは、それぞれのメディア特有のインデックス手法や、多次元データに対する多次元インデックス手法などを柔軟に取り込み、利用できるようにすることが望ましい。
【００１８】
　さらに、近年の計算機技術の進歩により、種々の情報源で管理可能なデータ量が激増し、数ギガバイトから数テラバイトのサイズを有するものもある。したがって、このような大量データを扱うアプリケーションでは、その検索処理においてインデックスを最大限に利用し、可能な限り実データにアクセスする回数を減らすことが望ましい。
【００１９】
　複数の情報源に対して検索を行う場合には、それぞれの情報源に対応した情報検索システムに対してそれぞれ問合せを発行し、その結果を統合する上位アプリケーションが利用される。この上位アプリケーションを以下、統合型情報検索システムとよぶ。
【００２０】
　図１(B)に示すように、従来のこの種の統合型情報検索システム5は、検索仲介手段51を有する。検索仲介手段51では、入力装置1から入力された問合せを、情報検索システム61〜63（情報検索システムの数は任意）に送る。このとき、それぞれの情報検索システムのデータ管理形式や問合せ方式が異なることが一般的であるため、検索仲介手段51では、それぞれの情報検索システムが解釈実行可能な形式に問合せを変換する機能を持つ。
【００２１】
　情報検索システム61〜63の検索結果は、検索仲介手段51に返却される。検索仲介手段51は、この結果を統合し、必要な場合にはデータ形式の変換を行って、結果を出力装置4に出力する。
【発明の開示】
【発明が解決しようとする課題】
【００２２】
　従来の情報検索システムの第１の問題点は、データの特性やアプリケーション特性に応じた多様なインデックス手法を柔軟に適用することができないということである。その理由は、一つの情報検索システムでは、汎用インデックス機能と実データ管理機能が同時に提供されていて、それを自由に変更できないためである。
【００２３】
　第２の問題点は、問合せの出力式に含まれる属性すべてにインデックスが生成されている場合にも、問合せ結果を作成するために、検索条件を満足するすべての実データをメモリ中にロードするということである。これにより、検索結果が大量の場合には、問合せ出力を生成するために大きな処理コストが必要となる。その理由は、従来の情報検索システムでは、問合せ出力を生成するためにインデックスを利用する手段を持たないためである。
【００２４】
　第３の問題点は、属性値を加工した値によって高速に実データを検索する手段を持たないということである。その理由は、従来のインデックスが、属性値とその組合せのみを管理するものであり、属性値を加工した値に対してインデックスを生成する手段を持たないためである。
【００２５】
　第４の問題点は、統合型情報検索システムは実装が困難であるということである。その理由は、与えられた問合せを、任意の情報検索システムの持つデータモデル、データ構造、検索インタフェースに応じた形式に変換し、返却されたデータを統合して出力する処理を共通化、自動化することが難しいからである。
【００２６】
　本発明の第一義とする課題は、データ構造に、プログラムによって自動的に変換可能程度の差異がある複数の外部情報源のデータに対し、より統合性の高い統合型情報検索システムを提供すること、特に同じ検索式を使って、検索処理を実行できる情報検索システムを提供することにある。
【００２７】
　本発明の他の一課題は、データやアプリケーションのそれぞれの特性に最適の多様なインデックス手法を柔軟に適用することができる情報検索システムを提供することである。
【００２８】
　本発明のさらに他の一課題は、検索条件を満足する全ての実データをメモリ中にロードする必要のない情報検索システムを提供すること、特に問合せ出力を生成するためにインデックスを利用できる情報検索システムを提供することにある。
【００２９】
　本発明のさらに他の一課題は、多様な属性に対応する多数のインデックスを含む情報を、さらに効率的に検索できるようにすること、特に属性値を加工した値に対するインデックスを生成してそれを利用できる情報検索システムを提供することにある。
【課題を解決するための手段】
【００３０】
　本発明の第１の視点において、情報検索システムは、複数の情報源中の属性値を予め定めた統一形式に変換するデータ変換手段と、前記データ変換手段により変換された値に対してインデックスを生成するインデックス生成手段と、前記インデックス生成手段により生成されたインデックスを使ってインデックス検索を行うインデックス検索手段と、前記インデックス検索手段を使って問合せの指定する条件検索を実施する検索式評価手段と、を備えたことを特徴とする。
【００３１】
　本発明の第２の視点において、情報検索システムは、属性値を指定された方法で加工する式計算手段と、前記式計算手段により生成された値に対してインデックスを生成するインデックス生成手段と、前記インデックス生成手段により生成されたインデックスを使ってインデックス検索を行うインデックス検索手段と、前記インデックス検索手段を使って問合せの指定する条件検索を実施する検索式評価手段と、を備えたことを特徴とする。
【００３２】
　本発明の第３の視点において、情報検索システムは、複数の情報源中の属性値を予め定めた統一形式に変換するデータ変換手段と、前記データ変換手段により変換された値を指定された方法で加工する式計算手段と、前記式計算手段により加工された値に対してインデックスを生成するインデックス生成手段と、前記インデックス生成手段により生成されたインデックスを使ってインデックス検索を行うインデックス検索手段と、前記インデックス検索手段を使って問合せの指定する条件検索を実施する検索式評価手段と、を備えたことを特徴とする。
【００３３】
　本発明の第４の視点において、情報検索システムは、情報源中でデータを一意に識別するIDとインデックスが生成されているすべての属性の値を管理するインデックス値記憶手段と、属性値を前記インデックス値記憶手段から検索するインデックス値検索手段と、前記インデックス値検索手段により問合せ出力式に従った問合せ結果を生成する出力式評価手段と、を備えたことを特徴とする。
【００３４】
　本発明の第５の視点において、情報検索システムは、属性値を指定された方法で加工する式計算手段と、前記式計算手段により生成された値と元の属性を持つデータのIDとの組からなるインデックス値情報を生成するインデックスインデックス生成手段と、前記インデックス生成手段により生成されたインデックス値情報から前記式計算手段により加工された値を取得するインデックス値検索手段と、前記インデックス値検索手段を使って問合せの出力式に従った問合せ結果を生成する出力式評価手段と、を備えたことを特徴とする。
【００３５】
　本発明の第６の視点において、情報検索システムは、複数の情報源中の属性値を予め定めた統一形式に変換するデータ変換手段と、前記データ変換手段により変換された値と元の属性を持つデータのIDとの組からなるインデックス値情報をインデックス生成手段と、前記インデックス生成手段により生成されたインデックス値情報から前記データ変換手段により変換された値を取得するインデックス値検索手段と、前記インデックス値検索手段を使って問合せの出力式に従った問合せ結果を生成する出力式評価手段と、を備えたことを特徴とする。
【００３６】
　本発明の第７の視点において、情報検索システムは、複数の情報源中の属性値を予め定めた統一形式に変換するデータ変換手段と、前記データ変換手段により変換された値を指定された方法で加工する式計算手段と、前記式計算手段により加工された値と元の属性を持つデータのIDの組からなるインデックス値情報を生成するインデックス生成手段と、前記インデックス生成手段により生成されたインデックス値情報から前記データ変換手段および式計算手段により変換・加工された値を取得するインデックス値検索手段と、前記インデックス値検索手段を使って問合せの出力式に従った問合せ結果を生成する出力式評価手段と、を備えたことを特徴とする。
【００３７】
　本発明の第８の視点において、本発明は、夫々、第１〜第７の各視点に対応する情報検索方法を提供する。その各特徴は、請求項の各項に記載のとおりであり、長文化を避けるため、ここに各項への引照をもって各記載を本欄に繰込むものとし、重複記載を省略する。
【００３８】
　本発明の第９の視点において、本発明は、請求項に対応する情報検索方法を実施するための、コンピュータ読取り可能なプログラム製品を提供する。その各特徴は、請求項に記載のとおりであり、ここに各項への引照をもって各記載を本欄に繰込むものとする。
【００３９】
　なお、該プログラム製品は、典型的には記録媒体に記録されたプログラム製品として具現化されるが、本発明の開示は、これに止まらず、当該プログラムはあらゆる形態の記憶装置一般（メモリ装置を含む）及び搬送波キャリアを媒体としても担持される。
【発明の効果】
【００４０】
　第１の効果は、複数の情報源に対して、高速に問合せ処理を実行することが出来ることにある。その理由は、データ構造にプログラムによって自動的に変換可能な程度（ないし範囲）に差異がある複数の外部情報源のデータを、データ変換手段によって変換し、統一した形式でインデックス生成できるように構成されており、このインデックスを使って問合せ処理を実行する手段を有しているためである。
【００４１】
　更に、実データを保持する情報源（のデータやアプリケーションの特性）とは独立に、データやアプリケーションのそれぞれの特性に最適なインデックス手法を柔軟に適用することができるという第２の効果も奏効される。その理由は、情報源とは独立にインデックス検索手段と自己のインデックス検索手段での検索に適したインデックス情報を有しているためである。
【００４２】
　また更に、問合せ中に記述されたすべての属性にインデックスが生成されている場合、実データのロード処理が不要になり、問合せ処理時間が短縮できるという第３の効果も奏効される。その理由は、一つのデータについて、インデックスが生成されているすべての属性値の各値と各データIDを統合して管理しており、インデックス値を利用して問合せ処理を行うためである。
【００４３】
　また更には、属性を含む式を計算することなく問合せ結果を生成することができるという第４の効果も奏効され、この結果、問合せの応答速度を短縮することができる。その理由は、属性値を加工する式の各値そのものに対するインデックスを生成し、式とインデックスとの対応関係を保持することによって、式の値を取得し利用する手段を有しているためである。
【発明を実施するための最良の形態】
【００４４】
　本発明の第１の情報検索システム形態は、実データを管理する情報源とは独立に、問合せ処理機能とインデックス管理機能を持ち、問合せの検索条件式と出力式に既にインデックスが作成されている属性が指定された場合、インデックス値のみによって問合せ結果を生成する。より具体的には、検索式評価手段（図2の711）、出力式評価手段（図2の712）、インデックス検索手段（図2の213）とインデックス値取得手段（図2の713）とを備え、問合せ中に含まれるすべての属性にインデックスが生成されている場合には、外部情報源（図2の91）にアクセスすることなく、インデックス値記憶部（図2の32）に管理されているインデックス値を利用して、問合せ結果を生成するよう動作する。
【００４５】
　また、本発明の第２の情報検索システム形態は、問合せ中の属性だけでなく、属性を含む式（加工式）に対するインデックスを管理し、その値を利用して問合せ結果を生成する。より具体的には、属性の値を計算する式計算手段（図5の75）とインデックス情報記憶部（図5の33）とを備え、問合せ中にインデックスが生成されている式が含まれるかどうかの情報をインデックス情報記憶部に調べ、含まれている場合には、インデックス値記憶部（図5の32）に管理されているインデックス値を利用して、問合せ結果を生成するよう動作する。
【００４６】
　さらに、本発明の第３の情報検索システム形態は、複数の外部情報源のデータ形式を統一し、同一インデックスによって管理する。より具体的には、データ変換手段（図8の76）を備え、複数の外部情報源中の異なるデータ形式による同じ種類のデータに対し、そのデータ形式を一つに統一し、統一した値に対してインデックスを生成することによって、複数の外部情報源に対して一つの問合せを実行するよう動作する。
【００４７】
　次に、本発明の各実施の形態について図面を参照してさらに詳細に説明する。
【００４８】
［実施形態１］
　図２を参照すると、本発明の第１の実施の形態は、キーボードなどの入力装置1と、プログラム制御により動作するデータ処理装置7と、情報を記憶する記憶装置8と、ディスプレイ装置や印刷装置などの出力装置4とから構成されている。
【００４９】
　記憶装置8は、インデックス記憶部31とインデックス値記憶部32とを備えている。インデックス記憶部31は、実データから抽出した任意の属性値あるいはその組合せと、実データを一意に識別できるデータIDとのペアであるインデックスを保持している。
【００５０】
　インデックス値記憶部32は、インデックス記憶部31にインデックスが生成されている属性の値（以下、これをインデックス値とよぶ）と、実データに一意に付加されているIDを保持している。複数の属性に対して別々のインデックスが生成されている場合には、それぞれに対応するすべてのインデックス値をIDに対応させて保持する。
【００５１】
　データ処理装置7は、検索手段71、外部情報源検索手段73、インデックス生成手段74とを含む。検索手段71は、検索式評価手段711、出力式評価手段712、インデックス検索手段213、インデックス値取得手段713を含む。
【００５２】
　検索式評価手段711は、入力装置1から与えられた問合せ文字列を解析し、インデックス検索手段213あるいは外部情報源検索手段73によって条件を満足するデータを検索する。
【００５３】
　出力式評価手段712は、検索式評価手段711の検索結果であるデータIDの集合について、インデックス取得手段713あるいは外部情報源検索手段73によって問合せ出力を生成し、出力装置4に送出する。
【００５４】
　インデックス検索手段213は、インデックス記憶部31を検索して、条件式を満足する属性値を持つデータのIDを取得する。
【００５５】
　インデックス値取得手段713は、与えられたID（集合）に対応するデータの指定された属性値をインデックス値記憶部32から取り出し、返却する。
【００５６】
　外部情報源91は、データベースなどの情報源であり、それ自身がデータ検索手段を提供するものとする。
【００５７】
　外部情報源検索手段73は、与えられた問合せの処理を、実データを保持する外部情報源91に委譲する。また、与えられたデータIDに対応するデータの指定された属性値を、外部情報源から取得する。
【００５８】
　インデックス生成手段74は、検索に先立ち、外部情報源検索手段73を使って実データを読み出し、指定された属性あるいはその組合せに対してインデックスを生成して、それをインデックス記憶部31に格納する。同時に、インデックス値記憶部32にそのインデックス値を登録する。あるデータに対して初めてインデックスが生成されたときには、データIDとインデックス値のペアがインデックス値記憶部32に登録され、それ以降は最初に生成されたデータIDとインデックス値のペアにインデックス値を追加していく。
【００５９】
　次に、図２および図３のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【００６０】
　まず、インデックス生成処理について、図２および図３(B)を用いて説明する。
【００６１】
　最初に、外部情報源検索手段73により外部情報源91から所定のデータを読み出す（図３(B)の320）。次に、インデックス生成手段74においてインデックスが生成され（321）、インデックス記憶部31、インデックス値記憶部32に登録される（322）。この「所定データ」の読み出し自体は、公知の仕方で夫々の求める属性と関連する外部情報源に適した夫々の検索分野、対象キーワード等の指定等に基づいて行うことができる。
【００６２】
　次に、検索処理について、図２および図３(A)を用いて説明する。
【００６３】
　まず、入力装置1から入力された問合せを検索式評価手段711により解析する（図３(A)の301）。そして、インデックス記憶部31を検索して、その問合せの検索条件式中に含まれるすべての属性に事前にインデックスが生成されているかどうかを判定する（302）。もしすべての属性にインデックスが生成されていたとすると、インデックス検索手段213がインデックス記憶部31を検索してインデックス値を取得し、検索条件式を評価する（303）。インデックス未生成の属性が含まれる場合には、外部情報源検索手段73により、問合せ全体の処理を外部情報源91に委譲し（304）、得られた結果をそのまま出力装置4から出力する（310）。
【００６４】
　検索式中のすべての属性にインデックスが生成されている場合、次に、検索結果を出力する処理を行う。まず、出力式評価手段712が問合せ中の出力式に属性が含まれているかどうかを判定する（305）。含まれていない場合には、出力式評価手段712が出力式を評価し（306）、結果を出力する（310）。
【００６５】
　出力式に属性が含まれている場合には、それらの属性すべてにインデックスが生成されているかどうかを判定する（307）。すべての属性にインデックスが生成されている場合、インデックス値取得手段713によりインデックス値記憶部32を検索し、出力式が指定する属性値を取り出す（308）。インデックス未生成の属性が含まれる場合には、外部情報源検索手段73により、外部情報源91から属性値を取り出す（309）。このとき、外部情報源91から取り出すデータは、検索条件式に対するインデックス検索（303）の結果、抽出されたデータのみを対象とする。最後に、出力式に沿って処理結果を生成し、出力する（310）。
【００６６】
　次に、本実施の形態の効果について説明する。
【００６７】
　本実施の形態では、インデックス記憶部31とインデックス検索手段213を外部情報源91の実データと分離して実装するというように構成されているため、実データを管理する情報源とは独立して様々なインデックス手法を適用することができる。
【００６８】
　また、本実施の形態では、さらに、問合せの出力式に沿って検索結果を生成する場合に、出力式に含まれる属性すべてにインデックスが生成されているときには、インデックス値記憶部32に格納された値を利用するというように構成されているため、出力を生成するために実データを外部情報源91からロードする必要がなく、ロードにかかる時間を節約することができる。
【００６９】
［実施例１］
　次に、具体的な実施例を用いて本実施形態１の動作を説明する。
【００７０】
　図４に示すように、外部情報源401中の従業員情報（実データ）を記録した従業員テーブル402に対して、事前にインデックス生成手段74により、インデックス記憶部403に、各種属性（ここでは、名前、生年月日（及び／又は年令）、役職等）に分類したインデックステーブルとしてインデックスが生成されている。即ち、属性「名前」に対する名前インデックス404、属性「生年月日」に対する生年月日インデックス405、属性「役職」に対する役職インデックス406、属性「所属」に対する所属インデックス407が生成されているとする。
【００７１】
　インデックス値記憶部408には、これらすべてのインデックスデータIDと値との対応関係を管理するインデックス値テーブル409を格納する。インデックス値テーブル409中の一行は、一つのデータのIDと、そのデータのうちインデックスが生成されている属性すべての値を保持している。インデックス値テーブル409で持つインデックス値は、インデックス記憶部403に格納された各インデックス中のインデックス値へのポインタでも、それをコピーした値そのものでも、どちらを利用してもよい。コピーしたインデックス値が占めるメモリ領域がマシン環境を圧迫しない限りにおいては、コピー値を保持した方が性能が上がる。
【００７２】
　ここに、問合せ「従業員の中で、総務部の課長の名前を検索せよ」が入力された場合を考える。これは、SQLでは問合せ1のように表現される。ここで、Eは従業員テーブル402を表現するものとする。
SELECT E.名前
FROM E
WHERE E.所属 = '総務' AND E.役職 = '課長'; 　[問合せ1]
【００７３】
　まず、検索式評価手段711により、インデックス記憶部403が検索され、検索条件式（問合せ1のWHERE以下）中の属性「所属」および「役職」にインデックスが生成されていることが確認される。条件式中に他にインデックスが生成されていない属性は存在しないので、インデックス検索手段213によりインデックス記憶部403の対応するインデックスからインデックス値を取得し、条件判定を実施する。そして、結果として検索条件を満足するデータID集合が得られる。
【００７４】
　次に、出力式評価手段712において、検索結果を生成するために出力式「E.名前」を評価する。この中に含まれる属性「名前」にはインデックスが生成されており、この他にインデックスが生成されていない属性は含まれていないので、インデックス値取得手段713により、インデックス値記憶部408から、結果のID集合の要素それぞれに対応する「名前」の値を取り出す。そして、それらを出力装置4に返却する。
【００７５】
　次の問合せ2の場合は、問合せ1と出力式が異なり、出力式に属性を含まない。このため、検索式の評価は問合せ1と同様の処理を行うが、出力式の評価は、検索式の評価結果を基に、外部情報源401にはアクセスせず、自システム（出力式評価手段712）内で評価を完了することができる（図3(A)の306）。
SELECT COUNT(*) AS N
FROM E
WHERE E.所属 = '総務' AND E.役職 = '課長'; [問合せ2]
【００７６】
　以上の処理においては、問合せ全体を評価するために外部情報源401にアクセスせず、すべて自システム内で評価を完了することができるため、外部情報源401からの実データのロード時間を省略することができる。
【００７７】
　一方、以下の問合せ3の場合には、検索条件式にインデックスが生成されていない属性「職級」を含むため、検索評価手段711は、外部情報源検索手段73を使って外部情報源401に処理を委譲する（図3(A)の304）。そして外部情報源401から返却された検索結果を、出力装置4に返却する（310）。
SELECT E.名前
FROM E
WHERE E.役職 = '課長' AND E.職級 <> 'A7'; [問合せ3]
【００７８】
　ここで、他のインデックス手法、例えば、従業員の顔写真データ（属性「顔」）に対し、類似画像検索用インデックスを導入する場合を考える。この場合は、類似画像検索用インデックス生成手段をインデックス生成手段74として組み込み、類似画像検索用インデックス検索手段をインデックス検索手段213およびインデックス値取得手段713に組み込み、インデックス記憶部403およびインデックス値記憶部408に類似画像検索用インデックスの値（情報）を格納すれば良く、外部情報源401に影響を与えることはない。
【００７９】
［実施形態２］
　次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【００８０】
　図５を参照すると、本発明の第２の実施の形態は、記憶装置13の構成が、図２に示された第１の実施の形態における記憶装置8の構成に加え、インデックス情報記憶部33を有する点で異なる。また、データ処理装置10の構成が、図２に示された第１の実施の形態における記憶装置7の構成に加え、式計算手段75を有する点で異なる。
【００８１】
　インデックス情報記憶部33は、インデックスとして登録されている属性とインデックス記憶部31のインデックス集合の対応を管理する。属性を加工した値に対してインデックスを生成する場合には、その加工式とインデックスとの対応を管理する。
【００８２】
　式計算手段75は、属性を加工した値に対してインデックスを生成する場合に、属性値を加工（計算）してインデックス値を生成する処理を行う。属性値の加工方法は、予めユーザによって指定されているとする。
【００８３】
　図５および図６、図７のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【００８４】
　まず、インデックス生成処理について、図５および図７を用いて説明する。最初に、生成するインデックス情報をインデックス情報記憶部33に登録する（図７の620）。このインデックス情報には、インデックス生成対象データのテーブル名、属性名の他、属性の加工値をインデックス登録する場合には、その加工式の情報を含む。次に、外部情報源検索手段73により外部情報源91からデータを読み出す（320）。そして、属性を加工（計算）した値をインデックス化するよう指定されている場合には（621）、式計算手段74によってインデックス値を計算する（622）。指定されてない場合には、式計算手段74では何もしない。最後に、インデックス生成手段74において、指定された方法でインデックスを生成し（321）、インデックス記憶部31、インデックス値記憶部32に登録する（322）。
【００８５】
　次に、検索処理について説明する。
【００８６】
　まず、検索式評価手段711が入力装置1より入力された問合せを解析し（図６の301）、インデックス情報記憶部33を検索して検索条件式にインデックスが生成されていない式あるいは属性が含まれるどうかを調べる（601）。インデックスが生成されていない式あるいは属性が含まれる場合（ＹＥＳ）には、外部情報源検索手段73により、外部情報源91に検索処理を委譲する（304）。
【００８７】
　検索条件式中の式にインデックスが生成されている場合には、インデックス記憶部31を検索し、インデックス値を取得する（603）。次に、インデックス値が取得されていないすべての属性について、インデックス検索手段213がインデックス記憶部31を検索してインデックス値を取得し、検索条件式を評価し、条件を満足するデータIDを得る（303）。
【００８８】
　次に、検索結果を出力する処理を行う。まず、出力式評価手段712が問合せ中の出力式に属性が含まれているかどうかを判定する（305）。含まれていない場合には、出力式評価手段712により出力式を評価し、結果を生成する（306）。
【００８９】
　出力式に属性が含まれている場合には、すべての属性あるいは式にインデックスが生成されているかどうかを、インデックス情報記憶部33を検索して判定する（604）。インデックスが生成されていない式あるいは属性が含まれる場合には、外部情報源検索手段73により、検索条件を満足したデータ集合に対してのみ、外部情報源91から属性値を取り出し（309）、出力式を生成する（310）インデックスが生成されている場合には、インデックス値取得手段713によりインデックス値記憶部32を検索し、出力式が指定する式の値を取り出す。式に対してインデックスが生成されている場合には（605）、式のインデックス値を取得し（606）、残りの属性値を取り出す（308）。最後に、出力式に沿って処理結果を生成し、出力する（310）。
【００９０】
　次に、本実施の形態の効果について説明する。
【００９１】
　本実施の形態では、インデックス情報記憶部33によって属性を含む式に生成されたインデックスが管理されるように構成されているため、属性を含む式の値を計算することなく、条件判定、値の取り出し、および、検索結果生成を行うことができる。
【００９２】
［実施例２］
　次に、具体的な実施例２を用いて本実施の形態の動作を説明する。
【００９３】
　図８に示すように、インデックス記憶部702には、式「age(生年月日)」について式計算手段75によって予め値が計算された年齢インデックス705が生成されているものとする。ここで"age()"は、年齢を計算するための関数とする。このとき、インデックス情報記憶部701には、属性に対するインデックス情報だけでなく、この式に対応するインデックス情報が同時に管理されている。本実施例では、インデックス情報テーブル704に、年齢インデックスの情報が格納されている。
【００９４】
　ここで、問合せ「従業員の中で、50歳以上の課長の名前を検索せよ」が入力された場合を考える。これは、SQLでは問合せ4のように表現される。
SELECT E.名前
FROM E
WHERE E.役職 = '課長' AND age(E.生年月日) > 50;　[問合せ4]
【００９５】
　このとき検索式評価手段711は、インデックス情報記憶部701のインデックス情報テーブル704を検索し、式「age(E.生年月日)」にインデックスが生成されていると知る（602）。これにより、インデックス検索手段213が「age(E.生年月日)」に対応するインデックスを検索し（603）、検索条件式を評価する。このとき、「age(E.生年月日)」の値は年齢インデックス705より取得するので、属性「生年月日」の値を使って計算する必要はない。
【００９６】
［実施形態３］
　次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。
【００９７】
　図９を参照すると、本発明の第３の実施の形態は、データ処理装置12の構成が、図５に示された第２の実施の形態におけるデータ処理装置10の構成に加え、データ変換手段76を有する点で異なる。また、外部情報源検索手段78の検索対象が、単一ではなく複数の情報源（91, 92, 93）を対象とする点で異なる。
【００９８】
　データ変換手段76は、複数の外部情報源からインデックス作成用の属性値をそれぞれ取得し、データの形式を統一する。データ形式統一のために変換手段は、情報源ごとに予め与えられているものとする。
【００９９】
　インデックス記憶部34では、第１の実施の形態および第２の実施の形態におけるインデックス記憶部31では単一情報源を対象とするため各属性値に対応するデータのIDだけを保持していたのに対し、複数の情報源中のデータに対するインデックスを管理するために、外部情報源を一意に特定するための情報源ID、その情報源の中でデータを特定するためのデータIDを保持する。
【０１００】
　インデックス値記憶部35も、第１の実施の形態および第２の実施の形態におけるインデックス値記憶部32と異なり、外部情報源を一意に特定するための情報源ID、その情報源の中でデータを特定するためのデータIDおよび形式を統一するために変換した結果の属性値の集合を保持する。
【０１０１】
　インデックス生成手段77は、第１の実施の形態および第２の実施の形態におけるインデックス生成手段74では、属性値とデータIDのペアでインデックスを生成しているのに対し、属性値とデータIDおよび情報源IDのセットでインデックスを生成する。
【０１０２】
　外部情報源検索手段78は複数の情報源を検索対象とし、その中の指定された情報源にアクセスする。
【０１０３】
　インデックス検索手段717では、インデックス記憶部34のインデックスを利用して検索条件を満足するデータ集合を取得するが、このとき、データIDだけではなく情報源IDも同時に取得し、そのペアを結果として返却する。
【０１０４】
　出力式評価手段716では、インデックス検索手段717から情報源IDとデータIDのペアの集合を受け取り、それに対応する指定された属性値をインデックス値取得手段718あるいは外部情報源検索手段78により取得する。そして、得られた値から指定された形式の検索結果を生成し、出力装置4に出力する。
【０１０５】
　図９、図１０のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【０１０６】
　まず、インデックスを生成するために、外部情報源から外部情報源検索手段78によりデータを読み出す（図１０の620）。次に、データ変換手段76において、読み出したデータ中のインデックスを生成する対象の属性に対し、データ変換が必要かどうかを判定する（901）。もしデータ変換が必要ならば、予め登録された変換手段によって属性値を変換する（902）。ある情報源のある属性に対し、インデックス生成に際してデータ変換が必要かどうかの情報と変換手段は、ユーザによって情報源ごと、インデックス化する属性ごとに定義され、提供されているものとする。データ変換が不要の場合には、データ変換手段76では何もしない。
【０１０７】
　次に、データ変換手段76で処理された値に対し、式計算手段75およびインデックス生成手段77においてインデックスが生成され（621, 622, 321）、インデックス記憶部34、インデックス値記憶部35に登録される（322）。
【０１０８】
　生成されたインデックスを利用した検索方法は、第２の実施の形態における方法と同様である。ただしこのとき、インデックス記憶部34からは外部情報源のIDとデータIDが含まれるので、外部情報源を検索する場合（図6の309）には、外部情報源検索手段78においてこの2つのIDを基にデータの取り出しを行う。
【０１０９】
　次に、本実施の形態の効果について説明する。
【０１１０】
　本実施の形態では、データ構造にプログラムによって自動的に変換可能程度の差異がある複数の外部情報源のデータを、データ変換手段76によって変換し、統一した形式でインデックス生成できるように構成されているため、複数の情報源にまたがる検索を、同じ検索式を使って、高速に実行することができる。
【０１１１】
［実施例３］
　次に、具体的な実施例３を用いて本実施の形態の動作を説明する。
【０１１２】
　図11に示すように、共に従業員情報を管理する外部情報源401と外部情報源1003が存在する場合を考える。外部情報源401と外部情報源1003で管理する従業員情報の内容はほぼ同じだが、生年月日データの管理方法が外部情報源401の従業員テーブル402では西暦であるのに対し、外部情報源1003の従業員テーブル1004が和暦で管理されているように、データ形式が若干異なるものとする。
【０１１３】
　外部情報源401と外部情報源1003からデータを抽出し、属性「生年月日」に対してインデックスを生成する場合、外部情報源検索手段78によって双方の情報源からデータが抽出される。
【０１１４】
　従業員テーブル402のデータの属性「生年月日」に対しては、変換指定がユーザから与えられていない。よってデータ変換部76では何もせず、そのままインデックス生成手段77によってインデックスが生成される。
【０１１５】
　一方、従業員テーブル1004の場合には、データ変換手段76によって、属性「生年月日」のデータ形式を変換する。ここで、予め、従業員テーブル1004の属性「生年月日」に対し、和暦を西暦に変換するプログラムを適用してインデックス生成するよう、ユーザが指定しているとする。データ変換手段76では、この情報を基に、従業員テーブル1004から抽出したデータの属性「生年月日」を西暦に変換する。そして、インデックス生成手段77において、変換した属性値と外部情報源1003のID（ここでは"2"とする）と、データのIDを使ってインデックスを生成し、インデックス記憶部34およびインデックス値記憶部35に登録する。
【０１１６】
　以上の処理により、外部情報源401と外部情報源1003に対し、同じインデックスを利用して検索ができるようになる。
【０１１７】
［実施形態４］
　次に、本発明の第４の実施の形態について図面を参照して詳細に説明する。
【０１１８】
　図12を参照すると、本発明の第４の実施の形態は、情報検索プログラムを記録した記録媒体11を備える。この記録媒体11は磁気ディスク、半導体メモリその他の記録媒体であってよい。
【０１１９】
　情報検索プログラムは記録媒体11からデータ処理装置12に読み込まれ、データ処理装置12の動作を制御する。データ処理装置12は検索プログラムの制御により、以下の処理、すなわち第１および第２および第３の実施の形態におけるデータ処理装置および記憶装置による処理と同一の処理、を実行する。
【０１２０】
　入力装置1から問合せが与えられると、まず、この問合せの検索条件式中にインデックスが生成された式あるいは属性が存在するかどうかを、インデックス情報記憶部33を検索して調べる。検索式中のすべての式あるいは属性にインデックスが生成されている場合には、インデックス記憶部34を検索し、条件判定を行う。インデックスが生成されていない属性が含まれる場合には、外部情報源91〜93に問合せ処理を委譲する。
【０１２１】
　インデックス検索を実施した場合には、次に、検索結果を出力する。このとき、出力式中にインデックスが生成された式あるいは属性が存在するかどうかを、インデックス情報記憶部33を検索して調べる。すべての式あるいは属性にインデックスが生成されている場合には、インデックス値記憶部35を検索し、出力を生成する。インデックスが生成されていない属性が含まれる場合には、検索条件を満足するデータのみを外部情報源91〜93から取り出し、それより必要な値を抽出して出力を生成する。
【０１２２】
　生成された検索結果は、出力装置4に表示させる。
【図面の簡単な説明】
【０１２３】
【図１】従来の情報検索システムの構成を示すブロック図(A)と、統合型情報検索システムの構成を示すブロック図(B)である。
【図２】本発明の第１の実施の形態の構成を示すブロック図である。
【図３】第１の実施の形態の動作を示す流れ図である。
【図４】第１の実施の形態の動作の具体例を示す図である。
【図５】本発明の第２の実施の形態の構成を示すプロック図である。
【図６】第２の実施の形態の動作を示す流れ図である。
【図７】第２の実施の形態の動作を示す流れ図である。
【図８】第２の実施の形態の動作の具体例を示す図である。
【図９】本発明の第３の実施の形態の構成を示すプロック図である。
【図１０】第３の実施の形態の動作を示す流れ図である。
【図１１】第３の実施の形態の動作の具体例を示す図である。
【図１２】本発明の第４の実施の形態の構成を示すブロック図である。
【符号の説明】
【０１２４】
　1　入力装置
　2、12　データ処理装置
　3、8、13　記憶装置
　4　出力装置
　5　統合型情報検索システム
　7、10　データ処理装置
　11　記録媒体
　21、71　検索手段
　22、74、77　インデックス生成手段
　30　実データ記憶部
　31、34、403、702、1001　インデックス記憶部
　32、35、408、703、1002　インデックス値記憶部
　33、701　インデックス情報記憶部
　51　検索仲介手段
　61、62、63　情報検索システム
　73、78　外部情報源検索手段
　75　式計算手段
　76　データ変換手段
　91、92、93、401　外部情報源
　211、711、715　検索式評価手段
　212、712、716　出力式評価手段
　213、717　インデックス検索手段
　214　実データ検索手段
　402、1004　従業員テーブル
　404、1005　名前インデックス
　405、1006　生年月日インデックス
　406、1007　役職インデックス
　407　所属インデックス
　409、706、1009　インデックス値テーブル
　704　インデックス情報テーブル
　713、718　インデックス値取得手段
　1003　情報源2
　1008　年齢インデックス
【図１】
2004046906.tif 000003
【図２】
2004046906.tif 000004
【図３】
2004046906.tif 000005
【図４】
2004046906.tif 000006
【図５】
2004046906.tif 000007
【図６】
2004046906.tif 000008
【図７】
2004046906.tif 000009
【図８】
2004046906.tif 000010
【図９】
2004046906.tif 000011
【図１０】
2004046906.tif 000012
【図１１】
2004046906.tif 000013
【図１２】
2004046906.tif 000014