JP2004192657A - 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体 - Google Patents

情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体 Download PDF

Info

Publication number
JP2004192657A
JP2004192657A JP2004031531A JP2004031531A JP2004192657A JP 2004192657 A JP2004192657 A JP 2004192657A JP 2004031531 A JP2004031531 A JP 2004031531A JP 2004031531 A JP2004031531 A JP 2004031531A JP 2004192657 A JP2004192657 A JP 2004192657A
Authority
JP
Japan
Prior art keywords
index
search
information
attribute
data
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.)
Pending
Application number
JP2004031531A
Other languages
English (en)
Inventor
Misa Namiuchi
みさ 波内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2004031531A priority Critical patent/JP2004192657A/ja
Publication of JP2004192657A publication Critical patent/JP2004192657A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】
複数の外部情報源のデータに対し、高速かつ主記憶を効率よく用いる情報検索を可能にする。
【解決手段】
情報検索システムのインデックス値記憶部34が、複数の情報源中でデータを一意に識別するIDとインデックスが生成されているすべての属性の値を管理し、インデックス値記憶部35が、複数の情報源中でデータを一意に識別するIDとインデックスが生成されているすべての属性の値を管理し、インデックス値検索手段717が、属性値を前記インデックス値記憶手段から検索し、出力式評価手段716が、インデックス値検索手段717により問合せ出力式に従った問合せ結果を生成する方式の統合型情報検索システムにおいて、外部情報源検索手段78が、外部情報源からデータを読み出し、外部情報源検索手段78がインデックスが作られていない属性に対してアクセスした場合、インデックス生成手段77が該属性のインデックスを新たに生成する。
【選択図】
図9

Description

本発明は情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体に関し、特に大規模情報源から高速に目的の情報を抽出できる情報検索システム、情報検索方法および情報検索用プログラム製品、並びにこれを担持する媒体(特に記録媒体)に関する。
従来、情報検索手段は、データベース管理システム、データウェアハウス、データマートなどの情報源において、そこに格納されたデータを検索し、要求された値、データあるいはその集合を返却するために用いられている。
ある情報源に対する検索要求である問合せは、一般に、検索条件式と、検索結果として何を返却するかを指定する出力式を含む。情報源の一つであるデータベースに対する問合せには、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) やデータマイニングなどのアプリケーションが増加している。この種のアプリケーションでは、段階的に変化させた条件による複数の問合せを実行してデータを分類したり、データの持つ属性に計算を施し、得られた値を利用して全体データの特徴を分析するなどの処理を行う。
特に、データマイニングのように、様々な計算を伴う多様なマイニング手法が提案され、それが改良され続けている分野では、それぞれの手法に必要な計算手法を高速に計算するための支援が必要である。また、そこで扱われるデータの特性に応じた高速なデータ取り出し手法(インデックス)がサポートされることが望ましい。
また、画像や音声などのマルチメディア・データを扱うアプリケーションでは、それぞれのメディア特有のインデックス手法や、多次元データに対する多次元インデックス手法などを柔軟に取り込み、利用できるようにすることが望ましい。
さらに、近年の計算機技術の進歩により、種々の情報源で管理可能なデータ量が激増し、数ギガバイトから数テラバイトのサイズを有するものもある。したがって、このような大量データを扱うアプリケーションでは、その検索処理においてインデックスを最大限に利用し、可能な限り実データにアクセスする回数を減らすことが望ましい。
複数の情報源に対して検索を行う場合には、それぞれの情報源に対応した情報検索システムに対してそれぞれ問合せを発行し、その結果を統合する上位アプリケーションが利用される。この上位アプリケーションを以下、統合型情報検索システムと呼ぶ。
図1(B)に示すように、従来のこの種の統合型情報検索システム5は、検索仲介手段51を有する。検索仲介手段51では、入力装置1から入力された問合せを、情報検索システム61〜63(情報検索システムの数は任意)に送る。このとき、それぞれの情報検索システムのデータ管理形式や問合せ方式が異なることが一般的であるため、検索仲介手段51では、それぞれの情報検索システムが解釈実行可能な形式に問合せを変換する機能を持つ。
情報検索システム61〜63の検索結果は、検索仲介手段51に返却される。検索仲介手段51は、この結果を統合し、必要な場合にはデータ形式の変換を行って、結果を出力装置4に出力する。
複数の情報源を統合した情報検索システムを考えた場合、すべての属性にインデックスを予め生成し、主記憶上に置くこととすると、効率上好ましくない。とりわけ、新たな情報源が追加された場合において、該新たな情報源のすべての属性について、インデックスを生成することとすると、追加の所要時間が膨大となるばかりか、主記憶の利用効率が低下することが予想される。
また、従来の情報検索システムの第1の問題点としては、データの特性やアプリケーション特性に応じた多様なインデックス手法を柔軟に適用することができないということが挙げられる。その理由は、一つの情報検索システムでは、汎用インデックス機能と実データ管理機能が同時に提供されていて、それを自由に変更できないためである。
また第2の問題点としては、問合せの出力式に含まれる属性すべてにインデックスが生成されている場合にも、問合せ結果を作成するために、検索条件を満足するすべての実データをメモリ中にロードするということが挙げられる。これにより、検索結果が大量の場合には、問合せ出力を生成するために大きな処理コストが必要となる。その理由は、従来の情報検索システムでは、問合せ出力を生成するためにインデックスを利用する手段を持たないためである。
また第3の問題点としては、属性値を加工した値によって高速に実データを検索する手段を持たないということが挙げられる。その理由は、従来のインデックスが、属性値とその組合せのみを管理するものであり、属性値を加工した値に対してインデックスを生成する手段を持たないためである。
また第4の問題点としては、統合型情報検索システムは実装が困難であるということが挙げられる。その理由は、与えられた問合せを、任意の情報検索システムの持つデータモデル、データ構造、検索インタフェースに応じた形式に変換し、返却されたデータを統合して出力する処理を共通化、自動化することが難しいからである。
本発明の第一義とする課題は、新たな情報源が追加された場合にも、検索に要する所要時間を短縮でき、併せて、主記憶を浪費することのない情報検索システム、情報検索方法及び該方法を実行するためのプログラムを格納した記録媒体を提供することにある。
本発明の他の一課題は、データ構造に、プログラムによって自動的に変換可能程度の差異がある複数の外部情報源のデータに対し、より統合性の高い統合型情報検索システムを提供すること、特に同じ検索式を使って、検索処理を実行できる情報検索システムを提供することにある。
本発明のさらに他の一課題は、データやアプリケーションのそれぞれの特性に最適の多様なインデックス手法を柔軟に適用することができる情報検索システムを提供することである。
本発明のさらに他の一課題は、検索条件を満足する全ての実データをメモリ中にロードする必要のない情報検索システムを提供すること、特に問合せ出力を生成するためにインデックスを利用できる情報検索システムを提供することにある。
本発明のさらに他の一課題は、多様な属性に対応する多数のインデックスを含む情報を、さらに効率的に検索できるようにすること、特に属性値を加工した値に対するインデックスを生成してそれを利用できる情報検索システムを提供することにある。
前記課題を解決するための手段を提供する本発明の第1の視点によれば、情報検索システムは、外部情報源検索手段と、インデックス生成手段と、インデックス値記憶手段と、インデックス値検索手段と、出力式評価手段と、を備える情報検索システムが提供される。インデックス値記憶手段は、複数の情報源中でデータを一意に識別するIDとインデックスが生成されているすべての属性の値を管理するための処理手段であり、インデックス値検索手段は、属性値を前記インデックス値記憶手段から検索するための処理手段である。また、出力式評価手段は、前記インデックス値検索手段により問合せ出力式に従った問合せ結果を生成するための処理手段である。そして、複数の情報源に対して検索を行うための処理手段である前記外部情報源検索手段がアクセスを行った属性について、インデックスが未だ生成されていない場合、インデックスを新たに生成するための処理手段であるインデックス生成手段が、該属性のインデックスを新たに生成する。
本発明の第2の視点において、情報検索システムは、更に、複数の情報源中の属性値を予め定めた統一形式に変換するデータ変換手段を備え、前記インデックス生成手段は、更に、前記データ変換手段により変換された値と元の属性を持つデータのIDとの組からなるインデックス値情報を生成することを特徴とする情報検索システムが提供される。
本発明の第3の視点において、情報検索システムを構成するコンピュータに実行させる情報検索方法、及び、そのためのプログラム製品が提供される。なお、該プログラム製品は、典型的には記録媒体に記録されたプログラム製品として具現化されるが、本発明の開示は、これに止まらず、当該プログラムはあらゆる形態の記憶装置一般(メモリ装置を含む)及び搬送波キャリアを媒体としても担持される。
本発明によれば、検索に要する所要時間を短縮でき、更に、主記憶を浪費しないという効果が奏効される。その理由は、属性が始めてアクセスされた際に、インデックスを作成し、主記憶に置くという方式を採用したことにある。また、インデックスの際に、必要に応じて、複数の情報源中の属性値は予め定めた統一形式に変換される。
その他の効果としては、複数の情報源に対して、高速に、かつ、効果的に問合せ処理を実行することが出来ることが挙げられる。その理由は、データ構造にプログラムによって自動的に変換可能な程度(ないし範囲)に差異がある複数の外部情報源のデータを、データ変換手段によって変換し、統一した形式でインデックス生成できるように構成されており、このインデックスを使って問合せ処理を実行する手段を有しているためである。従って、情報源が複数存在する場合においても、検索に係る必要最小限の属性にインデックスを付与するという方式ゆえ、新たな情報源の追加の際に、追加の所要時間を短縮でき、更に、主記憶の浪費を防止し、処理コストを低減することができる。
更に、実データを保持する情報源(のデータやアプリケーションの特性)とは独立に、データやアプリケーションのそれぞれの特性に最適なインデックス手法を柔軟に適用することができるという効果が挙げられる。その理由は、情報源とは独立にインデックス検索手段と自己のインデックス検索手段での検索に適したインデックス情報を有しているためである。
また更に、問合せ中に記述されたすべての属性にインデックスが生成されている場合、実データのロード処理が不要になり、問合せ処理時間が短縮できるという効果が挙げられる。その理由は、一つのデータについて、インデックスが生成されているすべての属性値の各値と各データIDを統合して管理しており、インデックス値を利用して問合せ処理を行うためである。
また更には、属性を含む式を計算することなく問合せ結果を生成することができるという効果が挙げることができ、この結果、問合せの応答速度を短縮することができる。その理由は、属性値を加工する式の各値そのものに対するインデックスを生成し、式とインデックスとの対応関係を保持することによって、式の値を取得し利用する手段を有しているためである。
本発明の第1の情報検索システム形態は、実データを管理する情報源とは独立に、問合せ処理機能とインデックス管理機能を持ち、問合せの検索条件式と出力式に既にインデックスが作成されている属性が指定された場合、インデックス値のみによって問合せ結果を生成する。より具体的には、検索式評価手段(図2の711)、出力式評価手段(図2の712)、インデックス検索手段(図2の213)とインデックス値取得手段(図2の713)とを備え、問合せ中に含まれるすべての属性にインデックスが生成されている場合には、外部情報源(図2の91)にアクセスすることなく、インデックス値記憶部(図2の32)に管理されているインデックス値を利用して、問合せ結果を生成するよう動作する。
また、本発明の第2の情報検索システム形態は、問合せ中の属性だけでなく、属性を含む式(加工式)に対するインデックスを管理し、その値を利用して問合せ結果を生成する。より具体的には、属性の値を計算する式計算手段(図5の75)とインデックス情報記憶部(図5の33)とを備え、問合せ中にインデックスが生成されている式が含まれるかどうかの情報をインデックス情報記憶部に調べ、含まれている場合には、インデックス値記憶部(図5の32)に管理されているインデックス値を利用して、問合せ結果を生成するよう動作する。
さらに、本発明の第3の情報検索システム形態は、複数の外部情報源のデータ形式を統一し、同一インデックスによって管理する。より具体的には、データ変換手段(図8の76)を備え、複数の外部情報源中の異なるデータ形式による同じ種類のデータに対し、そのデータ形式を一つに統一し、統一した値に対してインデックスを生成することによって、複数の外部情報源に対して一つの問合せを実行するよう動作する。
次に、本発明の各実施の形態について図面を参照してさらに詳細に説明する。
[実施形態1]
図2を参照すると、本発明の第1の実施の形態は、キーボードなどの入力装置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とインデックス値のペアにインデックス値を追加していく。
次に、図2および図3のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
まず、インデックス生成処理について、図2および図3(B)を用いて説明する。
最初に、外部情報源検索手段73により外部情報源91から所定のデータを読み出す(図3(B)の320)。次に、インデックス生成手段74においてインデックスが生成され(321)、インデックス記憶部31、インデックス値記憶部32に登録される(322)。この「所定データ」の読み出し自体は、公知の仕方で夫々の求める属性と関連する外部情報源に適した夫々の検索分野、対象キーワード等の指定等に基づいて行うことができる。
次に、検索処理について、図2および図3(A)を用いて説明する。
まず、入力装置1から入力された問合せを検索式評価手段711により解析する(図3(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からロードする必要がなく、ロードにかかる時間を節約することができる。
[実施例1]
次に、具体的な実施例を用いて本実施形態1の動作を説明する。
図4に示すように、外部情報源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に影響を与えることはない。
[実施形態2]
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
図5を参照すると、本発明の第2の実施の形態は、記憶装置13の構成が、図2に示された第1の実施の形態における記憶装置8の構成に加え、インデックス情報記憶部33を有する点で異なる。また、データ処理装置10の構成が、図2に示された第1の実施の形態における記憶装置7の構成に加え、式計算手段75を有する点で異なる。
インデックス情報記憶部33は、インデックスとして登録されている属性とインデックス記憶部31のインデックス集合の対応を管理する。属性を加工した値に対してインデックスを生成する場合には、その加工式とインデックスとの対応を管理する。
式計算手段75は、属性を加工した値に対してインデックスを生成する場合に、属性値を加工(計算)してインデックス値を生成する処理を行う。属性値の加工方法は、予めユーザによって指定されているとする。
図5および図6、図7のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
まず、インデックス生成処理について、図5および図7を用いて説明する。最初に、生成するインデックス情報をインデックス情報記憶部33に登録する(図7の620)。このインデックス情報には、インデックス生成対象データのテーブル名、属性名の他、属性の加工値をインデックス登録する場合には、その加工式の情報を含む。次に、外部情報源検索手段73により外部情報源91からデータを読み出す(320)。そして、属性を加工(計算)した値をインデックス化するよう指定されている場合には(621)、式計算手段74によってインデックス値を計算する(622)。指定されてない場合には、式計算手段74では何もしない。最後に、インデックス生成手段74において、指定された方法でインデックスを生成し(321)、インデックス記憶部31、インデックス値記憶部32に登録する(322)。
次に、検索処理について説明する。
まず、検索式評価手段711が入力装置1より入力された問合せを解析し(図6の301)し、インデックス情報記憶部33を検索して検索条件式にインデックスが生成されていない式あるいは属性が含まれるどうかを調べる(601)。インデックスが生成されていない式あるいは属性が含まれる場合(YES)には、外部情報源検索手段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によって属性を含む式に生成されたインデックスが管理されるように構成されているため、属性を含む式の値を計算することなく、条件判定、値の取り出し、および、検索結果生成を行うことができる。
[実施例2]
次に、具体的な実施例2を用いて本実施の形態の動作を説明する。
図8に示すように、インデックス記憶部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より取得するので、属性「生年月日」の値を使って計算する必要はない。
[実施形態3]
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
図9を参照すると、本発明の第3の実施の形態は、データ処理装置12の構成が、図5に示された第2の実施の形態におけるデータ処理装置10の構成に加え、データ変換手段76を有する点で異なる。また、外部情報源検索手段78の検索対象が、単一ではなく複数の情報源(91, 92, 93)を対象とする点で異なる。
データ変換手段76は、複数の外部情報源からインデックス作成用の属性値をそれぞれ取得し、データの形式を統一する。データ形式統一のために変換手段は、情報源ごとに予め与えられているものとする。
インデックス記憶部34では、第1の実施の形態および第2の実施の形態におけるインデックス記憶部31では単一情報源を対象とするため各属性値に対応するデータのIDだけを保持していたのに対し、複数の情報源中のデータに対するインデックスを管理するために、外部情報源を一意に特定するための情報源ID、その情報源の中でデータを特定するためのデータIDを保持する。
インデックス値記憶部35も、第1の実施の形態および第2の実施の形態におけるインデックス値記憶部32と異なり、外部情報源を一意に特定するための情報源ID、その情報源の中でデータを特定するためのデータIDおよび形式を統一するために変換した結果の属性値の集合を保持する。
インデックス生成手段77は、第1の実施の形態および第2の実施の形態におけるインデックス生成手段74では、属性値とデータIDのペアでインデックスを生成しているのに対し、属性値とデータIDおよび情報源IDのセットでインデックスを生成する。
外部情報源検索手段78は複数の情報源を検索対象とし、その中の指定された情報源にアクセスする。
インデックス検索手段717では、インデックス記憶部34のインデックスを利用して検索条件を満足するデータ集合を取得するが、このとき、データIDだけではなく情報源IDも同時に取得し、そのペアを結果をして返却する。
出力式評価手段716では、インデックス検索手段717から情報源IDとデータIDのペアの集合を受け取り、それに対応する指定された属性値をインデックス値取得手段718あるいは外部情報源検索手段78により取得する。そして、得られた値から指定された形式の検索結果を生成し、出力装置4に出力する。
図9、図10のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
まず、インデックスを生成するために、外部情報源から外部情報源検索手段78によりデータを読み出す(図10の620)。次に、データ変換手段76において、読み出したデータ中のインデックスを生成する対象の属性に対し、データ変換が必要かどうかを判定する(901)。もしデータ変換が必要ならば、予め登録された変換手段によって属性値を変換する(902)。ある情報源のある属性に対し、インデックス生成に際してデータ変換が必要かどうかの情報と変換手段は、ユーザによって情報源ごと、インデックス化する属性ごとに定義され、提供されているものとする。データ変換が不要の場合には、データ変換手段76では何もしない。
次に、データ変換手段76で処理された値に対し、式計算手段75およびインデックス生成手段77においてインデックスが生成され(621, 622, 321)、インデックス記憶部34、インデックス値記憶部35に登録される(322)。
生成されたインデックスを利用した検索方法は、第2の実施の形態における方法と同様である。ただしこのとき、インデックス記憶部34からは外部情報源のIDとデータIDが含まれるので、外部情報源を検索する場合(図6の309)には、外部情報源検索手段78においてこの2つのIDを基にデータの取り出しを行う。
次に、本実施の形態の効果について説明する。
本実施の形態では、データ構造にプログラムによって自動的に変換可能程度の差異がある複数の外部情報源のデータを、データ変換手段76によって変換し、統一した形式でインデックス生成できるように構成されているため、複数の情報源にまたがる検索を、同じ検索式を使って、高速に実行することができる。
[実施例3]
次に、具体的な実施例3を用いて本実施の形態の動作を説明する。
図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に対し、同じインデックスを利用して検索ができるようになる。
[実施形態4]
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。
図12を参照すると、本発明の第4の実施の形態は、情報検索プログラムを記録した記録媒体11を備える。この記録媒体11は磁気ディスク、半導体メモリその他の記録媒体であってよい。
情報検索プログラムは記録媒体11からデータ処理装置12に読み込まれ、データ処理装置12の動作を制御する。データ処理装置12は検索プログラムの制御により、以下の処理、すなわち第1および第2および第3の実施の形態におけるデータ処理装置および記憶装置による処理と同一の処理、を実行する。
入力装置1から問合せが与えられると、まず、この問合せの検索条件式中にインデックスが生成された式あるいは属性が存在するかどうかを、インデックス情報記憶部33を検索して調べる。検索式中のすべての式あるいは属性にインデックスが生成されている場合には、インデックス記憶部34を検索し、条件判定を行う。インデックスが生成されていない属性が含まれる場合には、外部情報源91〜93に問合せ処理を委譲する。
インデックス検索を実施した場合には、次に、検索結果を出力する。このとき、出力式中にインデックスが生成された式あるいは属性が存在するかどうかを、インデックス情報記憶部33を検索して調べる。すべての式あるいは属性にインデックスが生成されている場合には、インデックス値記憶部35を検索し、出力を生成する。インデックスが生成されていない属性が含まれる場合には、検索条件を満足するデータのみを外部情報源91〜93から取り出し、それより必要な値を抽出して出力を生成する。
生成された検索結果は、出力装置4に表示させる。
従来の情報検索システムの構成を示すブロック図(A)と、統合型情報検索システムの構成を示すブロック図(B)である。 本発明の第1の実施の形態の構成を示すブロック図である。 第1の実施の形態の動作を示す流れ図である。 第1の実施の形態の動作の具体例を示す図である。 本発明の第2の実施の形態の構成を示すプロック図である。 第2の実施の形態の動作を示す流れ図である。 第2の実施の形態の動作を示す流れ図である。 第2の実施の形態の動作の具体例を示す図である。 本発明の第3の実施の形態の構成を示すプロック図である。 第3の実施の形態の動作を示す流れ図である。 第3の実施の形態の動作の具体例を示す図である。 本発明の第4の実施の形態の構成を示すブロック図である。
符号の説明
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 年齢インデックス

Claims (6)

  1. 複数の情報源に対して検索を行う外部情報源検索手段と、
    前記外部情報源検索手段がインデックスの作成されていない属性に対してアクセスした場合、該属性のインデックスを新たに生成するインデックス生成手段と、
    複数の情報源中でデータを一意に識別するIDとインデックスが生成されているすべての属性の値を管理するインデックス値記憶手段と、
    属性値を前記インデックス値記憶手段から検索するインデックス値検索手段と、
    前記インデックス値検索手段により問合せ出力式に従った問合せ結果を生成する出力式評価手段と、
    を備えたことを特徴とする情報検索システム。
  2. 請求項1に記載の情報検索システムにおいて、
    複数の情報源中の属性値を予め定めた統一形式に変換するデータ変換手段を備え、
    前記インデックス生成手段は、更に、
    前記データ変換手段により変換された値と元の属性を持つデータのIDとの組からなるインデックス値情報を生成すること、
    を特徴とする情報検索システム。
  3. 情報検索システムの外部情報源検索手段が複数の情報源に対して検索を行い、
    前記外部情報源検索手段がインデックスが作られていない属性に対してアクセスした場合、情報検索システムのインデックス生成手段が、該属性のインデックスを新たに生成し、
    情報検索システムのインデックス値記憶手段が、複数の情報源中でデータを一意に識別するIDとインデックスが生成されているすべての属性の値を管理し、
    情報検索システムのインデックス値検索手段が、属性値を前記インデックス値記憶手段から検索し、
    情報検索システムの出力式評価手段が、前記インデックス値検索手段により問合せ出力式に従った問合せ結果を生成すること、
    を特徴とする情報検索方法。
  4. 請求項3に記載の情報検索方法において、
    更に、情報検索システムのデータ変換手段が、複数の情報源中の属性値を予め定めた統一形式に変換し、
    情報検索システムのインデックス生成手段が、前記データ変換手段により変換された値と元の属性を持つデータのIDとの組からなるインデックス値情報を生成すること、
    を特徴とする情報検索方法。
  5. 複数の情報源に対して検索を行う外部情報源検索処理と、
    前記外部情報源検索処理において、インデックスが作られていない属性に対してアクセスが行われた場合に、該属性のインデックスを新たに生成するインデックス生成処理と、
    複数の情報源中でデータを一意に識別するIDとインデックスが生成されているすべての属性の値を管理するインデックス値記憶処理と、
    前記インデックス値記憶処理の結果から、所定の属性値を検索するインデックス値検索処理と、
    前記インデックス値検索処理の結果から、問合せ出力式に従った問合せ結果を生成する出力式評価処理と、
    をコンピュータに実行させるためのプログラムを格納した記録媒体。
  6. 請求項5に記載の記録媒体において、更に、
    複数の情報源中の属性値を予め定めた統一形式に変換するデータ変換処理を含み、
    前記インデックス生成処理において、
    前記データ変換処理により変換された値と元の属性を持つデータのIDとの組からなるインデックス値情報を生成する処理を実行すること、
    を特徴とするコンピュータに実行させるためのプログラムを格納した記録媒体。
JP2004031531A 2004-02-09 2004-02-09 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体 Pending JP2004192657A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004031531A JP2004192657A (ja) 2004-02-09 2004-02-09 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004031531A JP2004192657A (ja) 2004-02-09 2004-02-09 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP24093499A Division JP2001067369A (ja) 1999-08-27 1999-08-27 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2004192657A true JP2004192657A (ja) 2004-07-08

Family

ID=32768174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004031531A Pending JP2004192657A (ja) 2004-02-09 2004-02-09 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2004192657A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006092515A (ja) * 2004-09-27 2006-04-06 Microsoft Corp 索引キーを使用して検索を絞込むシステムおよび方法
JP2007305013A (ja) * 2006-05-15 2007-11-22 Fujitsu Ltd Hsm制御プログラム、hsm制御装置、hsm制御方法
JP2010102518A (ja) * 2008-10-23 2010-05-06 Hitachi Software Eng Co Ltd 検索システム
US8738635B2 (en) 2010-06-01 2014-05-27 Microsoft Corporation Detection of junk in search result ranking
US8812493B2 (en) 2008-04-11 2014-08-19 Microsoft Corporation Search results ranking using editing distance and document information
US9348912B2 (en) 2007-10-18 2016-05-24 Microsoft Technology Licensing, Llc Document length as a static relevance feature for ranking search results
US9495462B2 (en) 2012-01-27 2016-11-15 Microsoft Technology Licensing, Llc Re-ranking search results

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63298626A (ja) * 1987-05-29 1988-12-06 Matsushita Electric Ind Co Ltd デ−タベ−ス管理方法
JPH06215037A (ja) * 1993-01-18 1994-08-05 Fuji Xerox Co Ltd インデックスの自動更新装置
JPH10124491A (ja) * 1996-10-24 1998-05-15 Fujitsu Ltd 文書共有整理システム,共有文書管理装置および文書アクセス装置
JP2001067369A (ja) * 1999-08-27 2001-03-16 Nec Corp 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63298626A (ja) * 1987-05-29 1988-12-06 Matsushita Electric Ind Co Ltd デ−タベ−ス管理方法
JPH06215037A (ja) * 1993-01-18 1994-08-05 Fuji Xerox Co Ltd インデックスの自動更新装置
JPH10124491A (ja) * 1996-10-24 1998-05-15 Fujitsu Ltd 文書共有整理システム,共有文書管理装置および文書アクセス装置
JP2001067369A (ja) * 1999-08-27 2001-03-16 Nec Corp 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006092515A (ja) * 2004-09-27 2006-04-06 Microsoft Corp 索引キーを使用して検索を絞込むシステムおよび方法
JP2012069152A (ja) * 2004-09-27 2012-04-05 Microsoft Corp 索引キーを使用して検索を絞込む方法および記録媒体
US8843486B2 (en) 2004-09-27 2014-09-23 Microsoft Corporation System and method for scoping searches using index keys
JP2014222538A (ja) * 2004-09-27 2014-11-27 マイクロソフト コーポレーション 索引キーを使用して検索を絞込むシステムおよび方法
JP2016181306A (ja) * 2004-09-27 2016-10-13 マイクロソフト テクノロジー ライセンシング,エルエルシー 索引キーを使用して検索を絞込むシステムおよび方法
JP2007305013A (ja) * 2006-05-15 2007-11-22 Fujitsu Ltd Hsm制御プログラム、hsm制御装置、hsm制御方法
US9348912B2 (en) 2007-10-18 2016-05-24 Microsoft Technology Licensing, Llc Document length as a static relevance feature for ranking search results
US8812493B2 (en) 2008-04-11 2014-08-19 Microsoft Corporation Search results ranking using editing distance and document information
JP2010102518A (ja) * 2008-10-23 2010-05-06 Hitachi Software Eng Co Ltd 検索システム
US8738635B2 (en) 2010-06-01 2014-05-27 Microsoft Corporation Detection of junk in search result ranking
US9495462B2 (en) 2012-01-27 2016-11-15 Microsoft Technology Licensing, Llc Re-ranking search results

Similar Documents

Publication Publication Date Title
US11468103B2 (en) Relational modeler and renderer for non-relational data
EP1643384B1 (en) Query forced indexing
KR101083488B1 (ko) 객체 모델의 영향 분석
US9141666B2 (en) Incremental maintenance of range-partitioned statistics for query optimization
US20180144061A1 (en) Edge store designs for graph databases
Banane et al. Storing RDF data into big data NoSQL databases
Guo et al. A new ETL approach based on data virtualization
JP2004030221A (ja) 変更対象テーブル自動検出方法
Truică et al. TextBenDS: a generic textual data benchmark for distributed systems
Vogt et al. Polypheny-DB: towards bridging the gap between polystores and HTAP systems
Liu et al. Using provenance to efficiently improve metadata searching performance in storage systems
CN111708895B (zh) 一种知识图谱系统的构建方法及装置
JP2004192657A (ja) 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体
Awada et al. Cost Estimation Across Heterogeneous SQL-Based Big Data Infrastructures in Teradata IntelliSphere.
WO2023086322A1 (en) Late materialization of queried data in database cache
Reniers et al. Schema design support for semi-structured data: Finding the sweet spot between NF and De-NF
US20060085464A1 (en) Method and system for providing referential integrity constraints
JP2001067369A (ja) 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体
US8015210B2 (en) Method and system for generating string-based addresses
Andriamampianina et al. Towards an efficient approach to manage graph data evolution: conceptual modelling and experimental assessments
Chiu et al. Enabling ad hoc queries over low-level scientific data sets
JP2004046906A (ja) 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体
Singh NoSQL: A new horizon in big data
Guo et al. An adaptive data partitioning scheme for accelerating exploratory spark SQL queries
Eberius et al. Exploratory ad-hoc analytics for big data

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040622

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041019