JP2008234068A - 情報検索装置および情報検索プログラム - Google Patents

情報検索装置および情報検索プログラム Download PDF

Info

Publication number
JP2008234068A
JP2008234068A JP2007069584A JP2007069584A JP2008234068A JP 2008234068 A JP2008234068 A JP 2008234068A JP 2007069584 A JP2007069584 A JP 2007069584A JP 2007069584 A JP2007069584 A JP 2007069584A JP 2008234068 A JP2008234068 A JP 2008234068A
Authority
JP
Japan
Prior art keywords
search
logical
evaluation
logical expression
unit
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.)
Granted
Application number
JP2007069584A
Other languages
English (en)
Other versions
JP4881196B2 (ja
Inventor
Shinichiro Tako
真一郎 多湖
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007069584A priority Critical patent/JP4881196B2/ja
Publication of JP2008234068A publication Critical patent/JP2008234068A/ja
Application granted granted Critical
Publication of JP4881196B2 publication Critical patent/JP4881196B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】キーワードを含む検索論理式を利用した情報検索に要する時間を短縮する。
【解決手段】仲介装置1は、複数の利用者から検索要求を受け付け、各検索要求に含まれているキーワードを抽出する。検索装置2は、抽出された各キーワードについて検索を実行する。仲介装置1は、検索要求の検索論理式を簡略化することにより、仮論理式を生成する。仮論理式は、OR条件のみで記述されている。仲介装置1は、キーワード検索の結果に応じて、各仮論理式の論理を評価する。仮論理式の評価結果は、それぞれ1ビットの情報として仮ヒットテーブル22に書き込まれる。評価装置4は、仮ヒットテーブル22を参照し、ヒットした仮論理式に対応する検索論理式についてのみ論理を評価する。
【選択図】図1

Description

本発明は、キーワードを含む検索論理式を利用してデータベースを検索する技術に係わる。
近年、様々な分野において情報量が爆発的に増加している。そして、分野によっては、情報量はギガバイトオーダからテラバイトオーダに達している。このため、このような膨大な情報の中から所望の情報を捜し出すことが困難になりつつある。
所望の情報を検索する際には、しばしば、検索論理式(または、単に「検索式」)が生成される。例えば、Web上でサイトを検索するときには、複数のキーワードが入力されることが多い。そして、入力された複数のキーワードのすべてを含むサイトを検索するためには、AND論理の検索式が生成される。また、入力された複数のキーワードのいずれか1つを含むサイトを検索するためには、OR論理の検索式が生成される。さらに、AND論理およびOR論理の双方を含む複雑な検索式が生成されることもある。
また、検索利用者の増加により、検索エンジンには膨大な数の検索要求が与えられる。このため、検索エンジンは、多数の検索要求に対して高速に応答することが求められる。ここで、検索処理は、通常、検索論理式に含まれている各キーワードを検索する処理、およびキーワード検索の結果に基づいて検索論理式を評価する処理を含む。「検索論理式の評価」とは、検索対象の各文書等について、検索論理式によって表される条件を満足しているか否かを判断する処理を意味する。例えば、検索論理式「a&b」についての評価においては、検索対象の各文書等について、キーワードaおよびキーワードbの双方を含んでいるか否かが判断される。そして、キーワード検索の高速化についての技術は様々な提案がなされている。しかし、検索論理式の評価については、その処理時間を大幅に短縮する技術は提案されておらず、改善の余地が大きい。
図10は、従来の情報検索装置の一例を示す図である。図10に示す情報検索装置は、仲介装置101、検索装置102、評価装置103を備える。仲介装置101は、各利用者により入力される検索論理式を受け付け、クエリテーブル104を作成すると共に、検索装置102に検索要求を送る。クエリテーブル104には、受信した検索論理式に含まれているキーワードが登録され、各キーワードがそれぞれデータベース検索においてヒットしたか否かを管理する。検索要求は、受信した検索論理式に含まれているキーワードを列挙したクエリリストを含む。
検索装置102は、データベース105にアクセスしてクエリリストに載っている各キーワードについて検索を行い、検索結果を仲介装置101に返送する。そして、仲介装置101は、この検索結果に従ってクエリテーブル104を更新する。評価装置103は、クエリテーブル104を参照し、各検索論理式を評価する。例えば、Aさんにより入力された検索論理式は「赤&車」である。この検索論理式は、「「赤」を含み、且つ、「車」を含む。」を意味する。しかし、図10に示す実施例では、「赤」はヒットしているが、「車」はヒットしていない。よって、この検索論理式は、「偽(該当情報なし)」と評価される。一方、Cさんにより入力された検索論理式は「海&山」である。この検索論理式は、「「海」を含むか、或いは、「山」を含む。」を意味する。よって、この検索論理式は、「真(該当情報あり)」と評価される。そして、この評価結果(あるいは、この検索結果から得られる情報)が各利用者に提供される。
図11は、図10に示す情報検索装置の動作を示すフローチャートである。ステップS101では、与えられた検索論理式に含まれているキーワードを抽出し、クエリテーブルを作成する。ステップS102では、クエリテーブルに登録したキーワードについてデータベースを検索する。ステップS103では、キーワード検索の結果に応じてクエリテーブルを更新する。そして、ステップS104において、各検索論理式について論理評価を行う。
このように、図10に示す情報検索装置においては、すべての検索論理式について論理評価を行っていた。このため、検索時間の短縮化には限界があった。なお、情報検索時間を短縮するための技術として、例えば、特許文献1、2が知られている。
特許文献1に記載の情報検索装置は、複数の検索論理式の和集合を簡単化することによって最適化検索論理式を生成し、その最適化検索論理式を用いて必要な情報を検索する。そして、特許文献1においては、実施例として、利用者A、B、Cの検索論理式がそれぞれ「a+b」「ab+c」「a+b+c」である場合が記載されている。この場合、最適化検索論理式は、下記のようにして得られる。
(a+b)+(ab+c)+(a+b+c)
→a+ab+b+c+(a+b+c)
→a+b+c+(a+b+c)
→a+b+c
そして、最適化検索論理式「a+b+c」を用いて利用者A〜Cのための検索結果を取得し、その後、その検索結果の中から各利用者A〜Cについての個別検索が行われる。
特許文献2には、検索論理式を構成する各キーワードの出現頻度を予測し、出現頻度の低いキーワードから検索処理を行うことによって処理量を減らす技術が記載されている。例えば、与えられた検索論理式が「a&b」であり、キーワードaの出現頻度よりもキーワードbの出願頻度の方が低いものとする。この場合、特許文献2に記載の手順によれば、まず、キーワードbについて検索処理が実行され、その後に、キーワードbについてヒットした文書の中からキーワードaを含む文書が検索される。
特開平1−149125号公報 特開昭57−166668号公報
従来の検索方法(特許文献1、2に記載の方法を含む)においては、検索すべきデータベースに蓄積されている情報の量が膨大である場合、検索論理式が複雑である場合、あるいは同時に処理すべき検索要求の数が多い場合には、検索論理式の評価を効率的に行うことができない。このため、個々のキーワードについての検索時間が短縮されても、検索論理式の評価に要する時間が相対的に長くなり、利用者がキーワードを入力したときからその検索結果が得られるまでに要する時間がさほど短縮されていない。
本発明の目的は、キーワードを含む検索論理式を利用した情報検索において、その検索時間を短縮するための装置および方法を提供することである。
本発明の情報検索装置は、複数の検索論理式から検索要素を抽出する抽出部と、前記検索要素についてデータベース検索を行う検索部と、前記複数の検索論理式をそれぞれ簡略化して、前記複数の検索論理式に対応する複数の仮論理式を生成する簡略化部と、前記検索部の検索結果に応じて前記仮論理式について論理評価を行う第1の評価部と、前記第1の評価部において第1評価値と評価された仮論理式に対応する検索論理式について論理評
価を行う第2の評価部と、を有する。
本発明においては、すべての検索論理式について論理評価を行うのではなく、対応する仮論理式が第1の評価値と評価された検索論理式についてのみ論理評価を行うので、論理評価に要する時間が短縮される。なお、仮論理式は、検索論理式を簡略化することにより得られるものであり、その論理評価は簡単である。
上記情報検索装置において、前記簡略化部は、前記検索論理式のOR条件だけで規定した仮論理式に変換するようにしてもよい。OR条件だけで記述された仮論理式は、その式の中に含まれているキーワードがヒットしたか否かをチェックするだけで、論理を評価できる。
上記情報検索装置において、前記複数の仮論理式をそれぞれ1ビットの仮結果情報で管理する管理部をさらに備えるようにしてもよい。この場合、前記第1の評価部は、前記複数の仮論理式により規定されている検索条件が満たされているか否かに応じて、前記管理部で管理された対応する仮結果情報を更新する。また、前記第2の評価部は、前記管理部を参照し、前記検索条件が満たされている仮論理式に対応する検索論理式についてのみ論理評価を行う。
本発明によれば、キーワードを含む検索論理式を利用した情報検索において、その検索時間が短縮される。
図1は、本発明に係る実施形態の情報検索装置の構成を示す図である。図1に示すように、実施形態の情報検索装置は、仲介装置1、検索装置2、仮評価装置3、評価装置4を含んで構成される。なお、図1においては、実施形態の情報検索装置の要部のみが描かれている。
この情報検索装置は、与えられた検索要求に応じてデータベース11を検索する。データベース11は、1または複数の情報記録装置から構成されており、様々な情報が蓄積されている。以下では、データベース11に格納されている各検索対象を「レコード」と呼ぶことにする。なお、各「レコード」は、例えば、Web上の1つのページ、或いは1つの文書に相当する。
仲介装置1は、各利用者により入力される検索要求を受け付ける。検索要求は、1または複数のキーワードを含んでいる。これらのキーワードは、利用者の指示に応じて、OR条件および/またはAND条件を利用した論理式を構成している。以下、このようにして生成される論理式を「検索論理式」と呼ぶことにする。なお、検索要求がキーワードを1つだけ含む場合には、その1つのキーワードが検索論理式となる。
この実施例では、検索論理式として、Aさん、Bさん、Cさんからそれぞれ「赤&車」「筆orペン&毛」「海or山」が入力されている。「赤&車」は、「「赤」を含み、且つ、「車」を含む。」を意味する。「筆orペン&毛」は、「「筆」を含むか、或いは、「ペン」及び「毛」の双方を含む。」を意味する。「海or山」は、「「海」を含むか、或いは、「山」を含む。」を意味する。
仲介装置1は、予め決められた所定数の検索要求を並列に処理する。図1に示す実施例では、3つの検索要求(すなわち、3つの検索論理式)が並列に処理される。
仲介装置1は、並列に処理すべき複数の検索論理式からキーワードを抽出する。この実
施例では、7つのキーワード「赤」「車」「筆」「ペン」「毛」「海」「山」が抽出される。なお、検索論理式からキーワードを抽出する方法は、公知の技術で実現可能であるので、説明を省略する。そして、仲介装置1は、抽出したすべてのキーワードを含むクエリリストを生成して検索装置2へ送信する。
検索装置2は、データベース11に格納されている各レコードに対して、キーワード検索を実行する。ここでは、ある1つのレコードについて検索を実行した場合について説明する。すなわち、検索対象レコードに上記7つのキーワードがそれぞれ含まれているか否かをチェックする。この実施例では、「赤」「海」「山」「毛」がヒットしたが、「車」「筆」「ペン」はヒットしていない。そして、検索装置2は、検索結果を仲介装置1へ返送する。なお、キーワード検索の方法は、特に限定されるものではなく、公知の任意の技術を利用することができる。
仲介装置1は、クエリテーブル21を作成する。クエリテーブル21には、検索論理式から抽出したキーワードが登録される。そして、登録された各キーワードについて、検索装置2による検索結果が書き込まれる。図1では、データベース11においてヒットしたキーワード(赤、海、山、毛)に対して「○」印が書き込まれている。
また、仲介装置1は、各利用者により入力された検索論理式を簡略化することによりそれぞれ対応する仮論理式を生成する。以下、検索論理式Z1から仮論理式Z1’を生成する方法について説明する。ここでは、下記の検索論理式Z1が与えられたものとする。
Z1=(((A1 or A2) and (A3 or A4 or A5) and A6) or (B1 and B2)) and (C1 or C2)
簡略化手順では、「Z1=1」となる必要条件を満たすように変換が行われる。具体的には、図2に示すように、AND条件で接続されたキーワードを削除することにより論理式を変形する。すなわち、「A1 or A2」に対して「A3 or A4 or A5」及び「A6」がそれぞれAND条件で接続されている。よって、「A3 or A4 or A5」及び「A6」はいずれも削除される。また、「B1 and B2」に対して「C1 or C2」がAND条件で接続されている。よって、「C1 or C2」も削除される。さらに、「B1」に対して「B2」がAND条件で接続されている。よって、「B2」も削除される。この結果、下記の仮論理式Z1’が得られる。Z1’=A1 or A2 or B1
このように、仮論理式Z1’は、検索論理式Z1内のAND条件で接続されているキーワードを削除することにより得られる。よって、仮論理式Z1’を満たすレコードの集合は、検索論理式Z1を満たすレコードの集合をすべて包含する。そして、本発明では、この性質を利用して検索時間の短縮化を図る。すなわち、検索論理式Z1を満たすレコードを抽出する際には、まず、仮論理式Z1’を満たすレコードを抽出する。ここで、仮論理式Z1’は、OR条件だけで記述されているので、各レコードがその論理を満たすか否かを判断することは容易である。続いて、仮論理式Z1’を満たすレコードの集合の中で、検索論理式Z1を満たすレコードを抽出する。このとき、検索対象の集合は、上述した仮論理式Z1’によって小さくなっている。このため、検索論理式Z1が複雑であっても、検索時間は短くなる。
上記簡略化により、Aさんにより入力された検索論理式「赤&車」は、仮論理式「赤」に変換される。また、Bさんにより入力された検索論理式「筆orペン&毛」は、仮論理式「筆orペン」に変換される。ただし、Cさんにより入力された検索論理式「海&山」は、AND条件を含んでいないので、仮論理式は検索論理式と同じである。
仲介装置1は、上述のようにして生成した仮論理式を管理するための仮ヒットテーブル22を作成する。仮ヒットテーブル22は、各仮論理式をそれぞれ1ビットの仮結果フラグで管理する。図1では、仮結果フラグを「○」「×」で表している。
上記構成のクエリテーブル21および仮ヒットテーブル22は、下記のようにして更新される。ここでは、ある1つのレコード(すなわち、データベース11に格納されているある文書)についての処理を説明する。
(1)検索装置2は、文書中に「赤」が含まれていることを検出すると、その旨を仲介装置1に通知する。仲介装置1は、この通知を受け取ると、クエリテーブル21において「赤」に対応するヒットフラグを設定し、仮ヒットテーブル22において「Aさん」に対応する仮結果フラグを設定する。図1では、「○」印は、フラグが設定されたことを示している。
(2)検索装置2は、文書中に「海」が含まれていることを検出すると、その旨を仲介装置1に通知する。仲介装置1は、この通知を受け取ると、クエリテーブル21において「海」に対応するヒットフラグを設定し、仮ヒットテーブル22において「Cさん」に対応する仮結果フラグを設定する。
(3)検索装置2は、文書中に「赤」が含まれていることを検出すると、その旨を仲介装置1に通知する。この場合、仲介装置1は、上記(1)と同様の処理を行う。
(4)検索装置2は、文書中に「山」が含まれていることを検出すると、その旨を仲介装置1に通知する。仲介装置1は、この通知を受け取ると、クエリテーブル21において「山」に対応するヒットフラグを設定し、仮ヒットテーブル22において「Cさん」に対応する仮結果フラグを設定する。
(5)検索装置2は、文書中に「毛」が含まれていることを検出すると、その旨を仲介装置1に通知する。仲介装置1は、この通知を受け取ると、クエリテーブル21において「毛」に対応するヒットフラグを設定する。しかし、「毛」を含む仮論理式は存在しないので、仮ヒットテーブル22は更新されない。
上記手順(1)〜(5)により、クエリテーブル21および仮ヒットテーブル22は、図1に示す状態に更新される。即ち、クエリテーブル21において、「赤」「海」「山」「毛」に対して「1(○)」が設定され、「車」「筆」「ペン」に対して「0(無印)」が設定されている。また、仮ヒットテーブル22においては、Aさん及びCさんの検索要求に対応する仮論理式に対して「1(○)」が設定され、Bさんの検索要求に対応する仮論理式に対して「0(×)」が設定されている。
ここで、図3を参照しながら、仮論理式の評価について説明する。「評価」とは、論理式を満たすレコードが存在するか否かを判定する処理を意味する。
一般的な評価手順では、論理式を構成する各要素(すなわち、キーワード)についての検索結果を保持しておき、それらの検索結果に対して論理演算を実行することによってその論理式を評価する。これに対して、本発明に係わる情報検索装置においては、仮論理式がOR条件だけで記述されていることを利用し、その仮論理式を構成する要素の中の1つ以上がヒットしたときに「真(論理が満たされている)」と判定し、いずれの要素もヒットしなかったときに「偽(論理が満たされていない)」と判定する。そして、この判定結果(真/偽)は、1ビット仮結果フラグとして仮ヒットテーブル22に書き込まれる。すなわち、本発明では、仮論理式を評価する際に、論理演算を必要としない。
仮評価装置3は、仮ヒットテーブル22を参照し、各利用者から入力された検索要求の中で評価をする必要のある検索要求を決定する。図1に示す例では、Aさん及びCさんの仮論理式に対して「1(○)」が設定されている。よって、この場合、仮評価装置3は、Aさん及びCさんの検索要求について評価をする必要があると判断し、その旨を評価装置4に通知する。
ここで、図4を参照しながら、仮評価装置3の動作を説明する。ここでは、仮ヒットテーブル22は32ビットレジスタであるものとする。この場合、32個の検索要求(或いは、32人の利用者)を同時に処理することができる。そして、各利用者の検索要求に対応する仮論理式についての仮結果フラグが、その32ビットレジスタの対応するビットに書き込まれるものとする。
仮評価装置3は、SCAN命令を利用して、「1」が書き込まれているビット位置を検出する。SCAN命令は、多くのCPUによりサポートされている命令であり、レジスタの最上位ビットから順番に各ビットの値をチェックしてゆき、最初に「1」が検出されたビット位置を通知する。また、SCAN命令は、「1」が検出されたビットをクリアする(すなわち、「0」を書き込む)手順も含んでいる。よって、このSCAN命令を繰り返し実行することにより、仮論理式が検索条件を満たしている検索要求を検出することができる。
評価装置4は、クエリテーブル21を参照し、仮評価装置3から通知された検索要求についてのみ評価を行う。図1に示す例では、Bさんの検索要求についての評価を行うことなく、Aさん及びCさんの検索要求についてのみ論理評価を行う。このとき、Aさんの検索論理式は「赤&車」であり、「車」がヒットしていないので、「偽」と評価される。一方、Cさんの検索論理式は「海or山」であり、「真」と評価される。
評価装置4は、上述の評価結果をヒットテーブルに書き込む。ヒットテーブルは、図5に示すように、各利用者の検索要求がそれぞれ各レコードにヒットしたのか否かを管理する。1つのヒットテーブルにより管理される利用者(検索要求)の数は、例えば、仮ヒットテーブル22を構成するレジスタのビット数と同じである。そして、評価装置4は、各レコードについての評価を行う毎に、その結果をヒットテーブルに書き込む。
全てのレコードについて各検索要求の論理評価が終了すると、ヒットテーブルが完成する。そして、実施形態の情報検索装置は、完成したヒットテーブルを参照し、各利用者に対してヒットレコードを識別する情報、或いはそのレコードに対応する文書の一部または全部を検索結果として送信する。図5に示す例では、利用者Aに対して、レコード3を識別する情報(或いは、レコード3に対応する文書の一部または全部)が検索結果として送信される。また、利用者Cに対して、レコード4を識別する情報(或いは、レコード4に対応する文書の一部または全部)が検索結果として送信される。
図6は、実施形態の情報検索装置の動作を示すフローチャートである。なお、このフローチャートの処理は、利用者から検索要求が与えられたときに実行される。
ステップS1では、各検索要求に含まれているキーワードを抽出する。ここで、複数の検索要求(例えば、仮ヒットテーブルを構成するレジスタのビット数と同じ数の検索要求)が一括して処理される。ステップS2では、クエリテーブルを作成する。ステップS3では、各検索要求を簡略化することによって対応する仮論理式を作成し、各仮論理式についての評価を管理するための仮ヒットテーブルを作成する。そして、ステップS1で抽出した各キーワードについての検索を実行するために検索エンジンを起動する。なお、ステップS1〜S4は、仲介装置1により実行される。
ステップS5〜S11は、各レコードに対して実行される。すなわち、ステップS5〜S9は、繰り返し実行される。ステップS5では、指定されたレコードについてキーワード検索を実行する。ステップS5は、検索装置2により実行される。ステップS6では、検索結果に従ってクエリテーブルおよび仮ヒットテーブルを更新する。ステップS6は、仲介装置1により実行される。ステップS7では、仮ヒットテーブルを参照し、評価すべ
き検索要求を捜し出す。ステップS7は、仮評価装置3により実行される。ステップS8では、ステップS7で指定された検索要求についてのみ論理評価を行う。そして、ステップS9において、評価結果をヒットテーブルに書き込む。ステップS8〜S9は、評価装置4により実行される。
すべてのレコードについてステップS5〜S9を実行すると、ステップS12に進む。ステップS12では、ヒットテーブルを参照し、各利用者に検索結果を送信する。
図7は、論理評価の処理量について説明する図である。なお、従来技術は、図10〜図11に示す検索方法であるものとする。また、図7では、1レコード当たりの処理量を示している。
従来技術においては、各検索要求の論理を評価する際に、評価処理およびテーブル更新処理が行われる。そして、評価処理の処理量は、「各検索論理式の評価の処理量E×検索要求の数」に相当する。また、テーブル更新処理の処理量は、「書込み処理の処理量G×ヒット数」に相当する。
これに対して実施形態の検索方法では、各検索要求の論理を評価する際に、評価処理、仮ヒットテーブルのサーチ処理、およびテーブル更新処理が必要である。そして、評価処理の処理量は、「各検索論理式の評価の処理量E×仮論理式のヒット数」に相当する。また、サーチ処理の処理量は、「テーブルサーチ処理の処理量F×仮論理式のヒット数」に相当する。さらに、テーブル更新処理の処理量は、「書込み処理の処理量G×(ヒット数+仮論理式のヒット数)」に相当する。
ところで、一般に、データベース11に蓄積されている情報量は膨大である。即ち、レコード数nは膨大である。このため、検索要求に含まれているキーワードが極めてありふれた用語でない限りは、キーワード検索におけるヒット率はかなり低くなるはずである。換言すれば、データベース11の全レコードを検索する際には、大部分のレコードにおいて仮論理式が「偽」と判断されるものと考えられる。そして、仮論理式が「偽」と判断された検索用要求については、論理評価は実行されない。したがって、実施形態の情報検索装置においては、実際に評価を行う検索論理式の数は、従来技術と比較して大幅に少なくなる。
一例を示す。ここでは、32個の検索要求を同時に処理するものとする。また、データベースに蓄積されている対象が100万レコードであるものとする。さらに、各仮論理式の平均ヒット率が0.1パーセントであるものとする。そうすると、従来技術の検索方法によれば、検索論理式の評価回数が3200万(=32×100万)となる。これに対して、実施形態の検索方法によれば、仮論理式がヒットした場合にのみ実際の論理評価が行われるので、検索論理式の評価回数は32000(=32×100万×0.001)となる。
なお、実施形態の検索方法では、従来技術と異なり、仮ヒットテーブルを更新する処理が発生する。しかし、この処理は、レジスタの対応するビットを更新するだけであり、検索論理式の論理評価と比較してその処理量は十分に小さい。また、実施形態の検索方法では、従来技術と異なり、仮ヒットテーブルをサーチする処理が発生する。しかし、この処理は、SCAN命令等を用いてレジスタの各ビットを参照するだけであり、検索論理式の論理評価と比較してその処理量は十分に小さい。したがって、実施形態の検索方法においては、従来技術と比較すると、新たな処理が発生するものの、検索論理式の評価全体としては、その処理量を大幅に減らすことができる。これにより、検索処理全体の処理時間が短縮される。
このように、本発明は、多くの情報検索において検索対象数に対してヒット数が少ない(即ち、ヒット率が低い)ことを利用する。一実施形態においては、複数の検索要求に対して、各検索論理式の必要条件となるOR論理のみから構成される仮論理式を生成し、各検索要求に対して1ビットを割り当てる。そして、仮論理式に含まれるキーワードがヒットしたときは、その仮論理式に対応する検索要求もヒットする可能性があるので、その検索要求について論理式の評価を行う。一方、仮論理式に含まれるキーワードがヒットしなかったときは、その仮論理式に対応する検索要求がヒットする可能性はないので、その検索要求について論理式の評価は行わない。したがって、検索論理式の評価に要する時間は、検索要求の多重度または複雑度にはほとんど依存しなくなり、キーワードのヒット率に依存することになる。したがって、キーワードのヒット率が非常に低いものとすると、検索論理式の評価を、1回のスキャンを実行する期間内に実現できる。
図8は、クエリテーブル21および仮ヒットテーブル22の更新について説明する図である。この実施例では、クエリテーブル21には、登録されたキーワード毎に、位置情報を書き込むための領域が設けられている。位置情報は、当該キーワードを含む仮論理式に対応する仮結果フラグを格納する位置(アドレス)を表す。この位置情報は、仮論理式を生成して仮ヒットテーブル22の所定のビットを割り当てたときに設定される。例えば、仮論理式「赤」が生成され、この仮論理式に対応する仮結果フラグが仮ヒットテーブル22の第Aビット割り当てられると、クエリテーブル21において、キーワード「赤」の位置情報として「A」が設定される。同様に、仮論理式「筆orペン」が生成され、この仮論理式に対応する仮結果フラグが仮ヒットテーブル22の第Bビット割り当てられると、クエリテーブル21において、キーワード「筆」および「ペン」の位置情報としてそれぞれ「B」が設定される。
上述のようなテーブル構成を導入すれば、例えば、キーワード「赤」がヒットしたときには、クエリテーブル21において「赤」に対応するフラグに「1(○)」が設定されると共に、位置情報Aに基づいて仮ヒットテーブル22において第Aビットに「1(○)」が書き込まれる。
図9は、本発明の機能を記述したプログラムを実行するコンピュータのブロック図である。本発明に係わる機能は、コンピュータを用いて上述の処理を記述したプログラムを実行することにより実現される。
CPU31は、上述の処理手順を記述したプログラムを記憶装置32からメモリ33にロードして実行する。記憶装置32は、たとえばハードディスクであり、上記プログラムを格納する。なお、記憶装置32は、コンピュータ30に接続される外部記憶装置であってもよい。メモリ33は、例えば半導体メモリであり、CPU31の作業領域として使用される。
記録媒体ドライバ34は、CPU31の指示に従って可搬性記録媒体35にアクセスする。可搬性記録媒体35は、例えば、半導体デバイス(PCカード等)、磁気的作用により情報が入出力される媒体(フレキシブルディスク、磁気テープ等)、光学的作用により情報が入出力される媒体(光ディスク等)を含むものとする。通信制御装置36は、CPU31の指示に従って、ネットワークを介してデータを送受信する。
上記構成のコンピュータ30において、利用者からの検索要求は、例えば、利用者端末において入力され、ネットワークを介して受信する。なお、実施形態の情報検索装置は、1台のコンピュータにより実現されてもよいし、互いに接続された複数のコンピュータにより実現されてもよい。また、図1に示す仲介装置1、検索装置2、仮評価装置3、評価装置4は、プログラムを実行することにより実現してもよいし、その一部をハードウェア
で構成するようにしてもよい。
(付記1)
複数の検索論理式から検索要素を抽出する抽出部と、
前記検索要素についてデータベース検索を行う検索部と、
前記複数の検索論理式をそれぞれ簡略化して、前記複数の検索論理式に対応する複数の仮論理式を生成する簡略化部と、
前記検索部の検索結果に応じて前記仮論理式について論理評価を行う第1の評価部と、
前記第1の評価部において第1評価値と評価された仮論理式に対応する検索論理式について論理評価を行う第2の評価部と
を有する情報検索装置。
(付記2)
付記1に記載の情報検索装置であって、
前記簡略化部は、与えられた検索論理式においてAND条件で接続されたキーワードを削除することにより、仮論理式を生成する
ことを特徴とする情報検索装置。
(付記3)
付記1に記載の情報検索装置であって、
前記簡略化部は、前記検索論理式のOR条件だけで規定した仮論理式に変換する
ことを特徴とする情報検索装置。
(付記4)
付記1または付記2に記載の情報検索装置であって、
前記複数の仮論理式をそれぞれ1ビットの仮結果情報で管理する管理部をさらに備え、
前記第1の評価部は、前記複数の仮論理式により規定されている検索条件が満たされているか否かに応じて、前記管理部で管理された対応する仮結果情報を更新し、
前記第2の評価部は、前記管理部を参照し、前記検索条件が満たされている仮論理式に対応する検索論理式についてのみ論理評価を行う
ことを特徴とする情報検索装置。
(付記5)
請求項1又は2に記載の情報検索装置であって、
前記第2の評価部は、前記第1の評価部において第2評価値と評価された仮論理式に対応する検索論理式についての論理評価を行わず、前記第1の評価部において前記仮論理式が前記第1評価値と評価されたときに対応する前記検索論理式のみについて論理評価を行う
ことを特徴とする情報検索装置。
(付記6)
検索論理式から検索要素を抽出する抽出部と、
前記検索要素についてデータベース検索を行う検索部と、
前記検索論理式を簡略化し、仮論理式を生成する簡略化部と、
前記検索部の検索結果に応じて前記仮論理式について論理評価を行う第1の評価部と、
前記第1の評価部において前記仮論理式が第1評価値と評価されたときに対応する検索論理式について論理評価を行う第2の評価部と
を有する情報検索装置。
(付記7)
コンピュータにより実現される抽出部が、複数の検索論理式から検索要素を抽出し、
コンピュータにより実現される検索部が、前記検索要素についてデータベース検索を行い、
コンピュータにより実現される簡略化部が、前記複数の検索論理式をそれぞれ簡略化して、前記複数の検索論理式に対応する複数の仮論理式を生成し、
コンピュータにより実現される第1の評価部が、前記検索部の検索結果に応じて前記仮論理式について論理評価を行い、
コンピュータにより実現される第2の評価部が、前記第1の評価部において第1の評価値と評価された仮論理式に対応する検索論理式について論理評価を行う、
ことを特徴とする情報検索方法。
(付記8)
コンピュータを、
複数の検索論理式から検索要素を抽出する抽出部、前記検索要素ついてデータベース検索を行う検索部、前記複数の検索論理式をそれぞれ簡略化して前記複数の検索論理式に対応する複数の仮論理式を生成する簡略化部、前記検索部の検索結果に応じて前記仮論理式について論理評価を行う第1の評価部、および前記第1の評価部において第1評価値と評価された仮論理式に対応する検索論理式について論理評価を行う第2の評価部、
として機能させるための情報検索プログラム。
本発明に係る実施形態の情報検索装置の構成を示す図である。 検索論理式から仮論理式を生成する方法を説明する図である。 仮論理式の評価について説明する図である。 仮評価装置の動作を説明する図である。 ヒットテーブルの実施例である。 実施形態の情報検索装置の動作を示すフローチャートである。 論理評価の処理量について説明する図である。 クエリテーブルおよび仮ヒットテーブルの更新について説明する図である。 本発明の機能を記述したプログラムを実行するコンピュータのブロック図である。 従来の情報検索装置の一例を示す図である。 図10に示す情報検索装置の動作を示すフローチャートである。
符号の説明
1 仲介装置
2 検索装置
3 仮評価装置
4 評価装置
11 データベース
21 クエリテーブル
22 仮ヒットテーブル

Claims (6)

  1. 複数の検索論理式から検索要素を抽出する抽出部と、
    前記検索要素についてデータベース検索を行う検索部と、
    前記複数の検索論理式をそれぞれ簡略化して、前記複数の検索論理式に対応する複数の仮論理式を生成する簡略化部と、
    前記検索部の検索結果に応じて前記仮論理式について論理評価を行う第1の評価部と、
    前記第1の評価部において第1評価値と評価された仮論理式に対応する検索論理式について論理評価を行う第2の評価部と
    を有する情報検索装置。
  2. 請求項1に記載の情報検索装置であって、
    前記簡略化部は、前記検索論理式のOR条件だけで規定した仮論理式に変換する
    ことを特徴とする情報検索装置。
  3. 請求項1又は2に記載の情報検索装置であって、
    前記複数の仮論理式をそれぞれ1ビットの仮結果情報で管理する管理部をさらに備え、
    前記第1の評価部は、前記複数の仮論理式により規定されている検索条件が満たされているか否かに応じて、前記管理部で管理された対応する仮結果情報を更新し、
    前記第2の評価部は、前記管理部を参照し、前記検索条件が満たされている仮論理式に対応する検索論理式についてのみ論理評価を行う
    ことを特徴とする情報検索装置。
  4. 検索論理式から検索要素を抽出する抽出部と、
    前記検索要素についてデータベース検索を行う検索部と、
    前記検索論理式を簡略化し、仮論理式を生成する簡略化部と、
    前記検索部の検索結果に応じて前記仮論理式について論理評価を行う第1の評価部と、
    前記第1の評価部において前記仮論理式が第1評価値と評価されたときに対応する検索論理式について論理評価を行う第2の評価部と
    を有する情報検索装置。
  5. 請求項1又は2に記載の情報検索装置であって、
    前記第2の評価部は、前記第1の評価部において第2評価値と評価された仮論理式に対応する検索論理式についての論理評価を行わず、前記第1の評価部において前記仮論理式が前記第1評価値と評価されたときに対応する前記検索論理式のみについて論理評価を行う
    ことを特徴とする情報検索装置。
  6. コンピュータを、
    複数の検索論理式から検索要素を抽出する抽出部、前記検索要素ついてデータベース検索を行う検索部、前記複数の検索論理式をそれぞれ簡略化して、前記複数の検索論理式に対応する複数の仮論理式を生成する簡略化部、前記検索部の検索結果に応じて前記仮論理式について論理評価を行う第1の評価部、および前記第1の評価部において第1評価値と評価された仮論理式に対応する検索論理式について論理評価を行う第2の評価部、
    として機能させるための情報検索プログラム。
JP2007069584A 2007-03-16 2007-03-16 情報検索装置および情報検索プログラム Expired - Fee Related JP4881196B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007069584A JP4881196B2 (ja) 2007-03-16 2007-03-16 情報検索装置および情報検索プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007069584A JP4881196B2 (ja) 2007-03-16 2007-03-16 情報検索装置および情報検索プログラム

Publications (2)

Publication Number Publication Date
JP2008234068A true JP2008234068A (ja) 2008-10-02
JP4881196B2 JP4881196B2 (ja) 2012-02-22

Family

ID=39906798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007069584A Expired - Fee Related JP4881196B2 (ja) 2007-03-16 2007-03-16 情報検索装置および情報検索プログラム

Country Status (1)

Country Link
JP (1) JP4881196B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01149125A (ja) * 1987-12-05 1989-06-12 Nippon Telegr & Teleph Corp <Ntt> 情報検索装置
JPH0660121A (ja) * 1992-03-19 1994-03-04 Hitachi Ltd 情報検索装置
JPH06215044A (ja) * 1993-01-20 1994-08-05 Fujitsu Ltd 情報検索処理装置
JPH0773187A (ja) * 1993-09-01 1995-03-17 Hokkaido Nippon Denki Software Kk 検索システム
JPH1027182A (ja) * 1996-07-11 1998-01-27 Hitachi Ltd 文書検索配送方法および装置
JPH11102312A (ja) * 1997-09-25 1999-04-13 Matsushita Denso System Kk データベース処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01149125A (ja) * 1987-12-05 1989-06-12 Nippon Telegr & Teleph Corp <Ntt> 情報検索装置
JPH0660121A (ja) * 1992-03-19 1994-03-04 Hitachi Ltd 情報検索装置
JPH06215044A (ja) * 1993-01-20 1994-08-05 Fujitsu Ltd 情報検索処理装置
JPH0773187A (ja) * 1993-09-01 1995-03-17 Hokkaido Nippon Denki Software Kk 検索システム
JPH1027182A (ja) * 1996-07-11 1998-01-27 Hitachi Ltd 文書検索配送方法および装置
JPH11102312A (ja) * 1997-09-25 1999-04-13 Matsushita Denso System Kk データベース処理装置

Also Published As

Publication number Publication date
JP4881196B2 (ja) 2012-02-22

Similar Documents

Publication Publication Date Title
CN107391653B (zh) 一种分布式NewSQL数据库系统及图片数据储存方法
US11604782B2 (en) Systems and methods for scheduling concurrent summarization of indexed data
US11074560B2 (en) Tracking processed machine data
JP5890308B2 (ja) コンテキスト上関連するタスクアイテムの自動発見
JP2020140699A (ja) データを記憶およびクエリするための方法、装置、設備、および媒体
JP2006107436A5 (ja)
JP5558997B2 (ja) 相互検索およびアラートのための方法、情報処理システム、およびコンピュータ・プログラム(構造化データ・ソースと非構造化データ・ソースとの間の相互検索およびアラート)
JP2012113706A (ja) データベース・クエリ最適化のためのコンピュータで実装される方法、コンピュータ・プログラム、およびデータ処理システム
JP2012053716A (ja) 思考モデルの作成方法、思考モデルの作成装置及び思考モデルの作成プログラム
JP2020123320A (ja) インデックスを管理するための方法、装置、設備及び記憶媒体
CN112970011B (zh) 记录查询优化中的谱系
JP2007140603A (ja) アーリーアダプタ抽出方法及び装置及びプログラム及び話題語予測方法及び装置及びプログラム
JPWO2012164738A1 (ja) データベース管理システム、装置及び方法
JP2007299021A (ja) インデクス更新方法及びそのシステム
US20140320498A1 (en) Terminal device, information processing method, and computer program product
JPWO2015087509A1 (ja) 状態保存復元装置、状態保存復元方法、および、プログラム
CN112486988A (zh) 数据处理方法、装置、设备及存储介质
US20220309290A1 (en) Amplification of initial training data
US9286349B2 (en) Dynamic search system
JP4881196B2 (ja) 情報検索装置および情報検索プログラム
US11790087B2 (en) Method and apparatus to identify hardware performance counter events for detecting and classifying malware or workload using artificial intelligence
JP2018181121A (ja) 分析装置、分析プログラム及び分析方法
CN109582795B (zh) 基于全生命周期的数据处理方法、设备、系统和介质
CN110750569A (zh) 数据提取方法、装置、设备及存储介质
JP2013125429A (ja) 分析対象決定装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111114

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: 20111129

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111202

R150 Certificate of patent or registration of utility model

Ref document number: 4881196

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: 20141209

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees