JP4881196B2 - Information retrieval apparatus and information retrieval program - Google Patents
Information retrieval apparatus and information retrieval program Download PDFInfo
- Publication number
- JP4881196B2 JP4881196B2 JP2007069584A JP2007069584A JP4881196B2 JP 4881196 B2 JP4881196 B2 JP 4881196B2 JP 2007069584 A JP2007069584 A JP 2007069584A JP 2007069584 A JP2007069584 A JP 2007069584A JP 4881196 B2 JP4881196 B2 JP 4881196B2
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、キーワードを含む検索論理式を利用してデータベースを検索する技術に係わる。 The present invention relates to a technique for searching a database using a search logical expression including a keyword.
近年、様々な分野において情報量が爆発的に増加している。そして、分野によっては、情報量はギガバイトオーダからテラバイトオーダに達している。このため、このような膨大な情報の中から所望の情報を捜し出すことが困難になりつつある。 In recent years, the amount of information has increased explosively in various fields. Depending on the field, the amount of information has reached from the gigabyte order to the terabyte order. For this reason, it is becoming difficult to search for desired information from such a vast amount of information.
所望の情報を検索する際には、しばしば、検索論理式(または、単に「検索式」)が生成される。例えば、Web上でサイトを検索するときには、複数のキーワードが入力されることが多い。そして、入力された複数のキーワードのすべてを含むサイトを検索するためには、AND論理の検索式が生成される。また、入力された複数のキーワードのいずれか1つを含むサイトを検索するためには、OR論理の検索式が生成される。さらに、AND論理およびOR論理の双方を含む複雑な検索式が生成されることもある。 When searching for the desired information, a search logical expression (or simply “search expression”) is often generated. For example, when searching for a site on the Web, a plurality of keywords are often input. In order to search for a site including all of the plurality of input keywords, an AND logic search expression is generated. Further, in order to search for a site including any one of a plurality of input keywords, an OR logic search expression is generated. In addition, complex search expressions that include both AND logic and OR logic may be generated.
また、検索利用者の増加により、検索エンジンには膨大な数の検索要求が与えられる。このため、検索エンジンは、多数の検索要求に対して高速に応答することが求められる。ここで、検索処理は、通常、検索論理式に含まれている各キーワードを検索する処理、およびキーワード検索の結果に基づいて検索論理式を評価する処理を含む。「検索論理式の評価」とは、検索対象の各文書等について、検索論理式によって表される条件を満足しているか否かを判断する処理を意味する。例えば、検索論理式「a&b」についての評価においては、検索対象の各文書等について、キーワードaおよびキーワードbの双方を含んでいるか否かが判断される。そして、キーワード検索の高速化についての技術は様々な提案がなされている。しかし、検索論理式の評価については、その処理時間を大幅に短縮する技術は提案されておらず、改善の余地が大きい。 In addition, due to the increase in search users, a huge number of search requests are given to the search engine. For this reason, the search engine is required to respond to a large number of search requests at high speed. Here, the search process usually includes a process of searching for each keyword included in the search logical expression and a process of evaluating the search logical expression based on the result of the keyword search. “Evaluation of search logical expression” means a process of determining whether or not a condition represented by the search logical expression is satisfied for each document to be searched. For example, in the evaluation for the search logical expression “a & b”, it is determined whether or not each of the documents to be searched includes both the keyword a and the keyword b. Various proposals have been made regarding techniques for speeding up keyword searches. However, regarding the evaluation of the search logical expression, a technique for greatly reducing the processing time has not been proposed, and there is a lot of room for improvement.
図10は、従来の情報検索装置の一例を示す図である。図10に示す情報検索装置は、仲介装置101、検索装置102、評価装置103を備える。仲介装置101は、各利用者により入力される検索論理式を受け付け、クエリテーブル104を作成すると共に、検索装置102に検索要求を送る。クエリテーブル104には、受信した検索論理式に含まれているキーワードが登録され、各キーワードがそれぞれデータベース検索においてヒットしたか否かを管理する。検索要求は、受信した検索論理式に含まれているキーワードを列挙したクエリリストを含む。 FIG. 10 is a diagram illustrating an example of a conventional information search apparatus. The information search apparatus illustrated in FIG. 10 includes a mediation apparatus 101, a search apparatus 102, and an evaluation apparatus 103. The intermediary device 101 accepts a search logical expression input by each user, creates a query table 104, and sends a search request to the search device 102. In the query table 104, keywords included in the received search logical expression are registered, and each keyword is managed to determine whether or not it has been hit in the database search. The search request includes a query list that lists keywords included in the received search logical expression.
検索装置102は、データベース105にアクセスしてクエリリストに載っている各キーワードについて検索を行い、検索結果を仲介装置101に返送する。そして、仲介装置101は、この検索結果に従ってクエリテーブル104を更新する。評価装置103は、クエリテーブル104を参照し、各検索論理式を評価する。例えば、Aさんにより入力された検索論理式は「赤&車」である。この検索論理式は、「「赤」を含み、且つ、「車」を含む。」を意味する。しかし、図10に示す実施例では、「赤」はヒットしているが、「車」はヒットしていない。よって、この検索論理式は、「偽(該当情報なし)」と評価される。一方、Cさんにより入力された検索論理式は「海&山」である。この検索論理式は、「「海」を含むか、或いは、「山」を含む。」を意味する。よって、この検索論理式は、「真(該当情報あり)」と評価される。そして、この評価結果(あるいは、この検索結果から得られる情報)が各利用者に提供される。 The search device 102 accesses the database 105 to perform a search for each keyword included in the query list, and returns the search result to the mediation device 101. Then, the mediation apparatus 101 updates the query table 104 according to the search result. The evaluation device 103 refers to the query table 104 and evaluates each search logical expression. For example, the search logical expression input by Mr. A is “red & car”. This search logic formula includes “red” and includes “car”. "Means. However, in the embodiment shown in FIG. 10, “red” is hit, but “car” is not hit. Therefore, this search logical expression is evaluated as “false (no corresponding information)”. On the other hand, the search logical expression input by Mr. C is “sea & mountain”. This search logical expression includes “sea” or includes “mountain”. "Means. Therefore, this search logical expression is evaluated as “true (with corresponding information)”. Then, this evaluation result (or information obtained from this search result) is provided to each user.
図11は、図10に示す情報検索装置の動作を示すフローチャートである。ステップS101では、与えられた検索論理式に含まれているキーワードを抽出し、クエリテーブルを作成する。ステップS102では、クエリテーブルに登録したキーワードについてデータベースを検索する。ステップS103では、キーワード検索の結果に応じてクエリテーブルを更新する。そして、ステップS104において、各検索論理式について論理評価を行う。 FIG. 11 is a flowchart showing the operation of the information search apparatus shown in FIG. In step S101, keywords included in the given search logical expression are extracted to create a query table. In step S102, the database is searched for keywords registered in the query table. In step S103, the query table is updated according to the keyword search result. In step S104, logical evaluation is performed for each search logical expression.
このように、図10に示す情報検索装置においては、すべての検索論理式について論理評価を行っていた。このため、検索時間の短縮化には限界があった。なお、情報検索時間を短縮するための技術として、例えば、特許文献1、2が知られている。 As described above, in the information search apparatus shown in FIG. 10, all the search logical expressions are logically evaluated. For this reason, there is a limit to shortening the search time. For example, Patent Documents 1 and 2 are known as techniques for shortening the information search time.
特許文献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についての個別検索が行われる。
The information search apparatus described in Patent Document 1 generates an optimized search logical expression by simplifying a union of a plurality of search logical expressions, and searches for necessary information using the optimized search logical expression. And in patent document 1, the case where the search logical expressions of users A, B, and C are “a + b”, “ab + c”, and “a + b + c”, respectively, is described as an example. In this case, the optimized search logical expression is obtained as follows.
(A + b) + (ab + c) + (a + b + c)
→ a + ab + b + c + (a + b + c)
→ a + b + c + (a + b + c)
→ a + b + c
Then, the search results for the users A to C are acquired using the optimized search logical expression “a + b + c”, and then individual searches for the users A to C are performed from the search results.
特許文献2には、検索論理式を構成する各キーワードの出現頻度を予測し、出現頻度の低いキーワードから検索処理を行うことによって処理量を減らす技術が記載されている。例えば、与えられた検索論理式が「a&b」であり、キーワードaの出現頻度よりもキーワードbの出願頻度の方が低いものとする。この場合、特許文献2に記載の手順によれば、まず、キーワードbについて検索処理が実行され、その後に、キーワードbについてヒットした文書の中からキーワードaを含む文書が検索される。
従来の検索方法(特許文献1、2に記載の方法を含む)においては、検索すべきデータベースに蓄積されている情報の量が膨大である場合、検索論理式が複雑である場合、あるいは同時に処理すべき検索要求の数が多い場合には、検索論理式の評価を効率的に行うことができない。このため、個々のキーワードについての検索時間が短縮されても、検索論理式の評価に要する時間が相対的に長くなり、利用者がキーワードを入力したときからその検索結果が得られるまでに要する時間がさほど短縮されていない。 In the conventional search methods (including the methods described in Patent Documents 1 and 2), when the amount of information stored in the database to be searched is enormous, the search logical expression is complicated, or simultaneously processed When the number of search requests to be performed is large, the search logical expression cannot be evaluated efficiently. For this reason, even if the search time for each keyword is shortened, the time required for evaluating the search logical expression becomes relatively long, and the time required for obtaining the search result after the user inputs the keyword. Is not shortened so much.
本発明の目的は、キーワードを含む検索論理式を利用した情報検索において、その検索時間を短縮するための装置および方法を提供することである。 An object of the present invention is to provide an apparatus and a method for shortening a search time in an information search using a search logical expression including a keyword.
本発明の情報検索装置は、複数の検索論理式から検索要素を抽出する抽出部と、前記検索要素についてデータベース検索を行う検索部と、前記複数の検索論理式をそれぞれ簡略化して、前記複数の検索論理式に対応する複数の仮論理式を生成する簡略化部と、前記検索部の検索結果に応じて前記仮論理式について論理評価を行う第1の評価部と、前記第1の評価部において第1評価値と評価された仮論理式に対応する検索論理式について論理評
価を行う第2の評価部と、を有する。
An information search apparatus according to the present invention includes an extraction unit that extracts search elements from a plurality of search logical expressions, a search unit that performs a database search for the search elements, and the plurality of search logical expressions, respectively, A simplification unit that generates a plurality of provisional logical expressions corresponding to a search logical expression, a first evaluation unit that performs logical evaluation on the temporary logical expression according to a search result of the search unit, and the first evaluation unit And a second evaluation unit that performs logical evaluation on the search logical expression corresponding to the temporary logical expression evaluated as the first evaluation value.
本発明においては、すべての検索論理式について論理評価を行うのではなく、対応する仮論理式が第1の評価値と評価された検索論理式についてのみ論理評価を行うので、論理評価に要する時間が短縮される。なお、仮論理式は、検索論理式を簡略化することにより得られるものであり、その論理評価は簡単である。 In the present invention, logical evaluation is not performed for all search logical expressions, but logical evaluation is performed only for a search logical expression in which the corresponding temporary logical expression is evaluated as the first evaluation value. Is shortened. The provisional logical expression is obtained by simplifying the search logical expression, and the logical evaluation is simple.
上記情報検索装置において、前記簡略化部は、前記検索論理式のOR条件だけで規定した仮論理式に変換するようにしてもよい。OR条件だけで記述された仮論理式は、その式の中に含まれているキーワードがヒットしたか否かをチェックするだけで、論理を評価できる。 In the information search apparatus, the simplification unit may convert the provisional logical expression defined only by an OR condition of the search logical expression. The provisional logical expression described only by the OR condition can be evaluated for logic only by checking whether or not the keyword included in the expression is hit.
上記情報検索装置において、前記複数の仮論理式をそれぞれ1ビットの仮結果情報で管理する管理部をさらに備えるようにしてもよい。この場合、前記第1の評価部は、前記複数の仮論理式により規定されている検索条件が満たされているか否かに応じて、前記管理部で管理された対応する仮結果情報を更新する。また、前記第2の評価部は、前記管理部を参照し、前記検索条件が満たされている仮論理式に対応する検索論理式についてのみ論理評価を行う。 The information search apparatus may further include a management unit that manages each of the plurality of temporary logical expressions with 1-bit temporary result information. In this case, the first evaluation unit updates the corresponding temporary result information managed by the management unit according to whether or not a search condition defined by the plurality of temporary logical expressions is satisfied. . In addition, the second evaluation unit refers to the management unit and performs logical evaluation only on the search logical expression corresponding to the provisional logical expression that satisfies the search condition.
本発明によれば、キーワードを含む検索論理式を利用した情報検索において、その検索時間が短縮される。 According to the present invention, in the information search using the search logical expression including the keyword, the search time is shortened.
図1は、本発明に係る実施形態の情報検索装置の構成を示す図である。図1に示すように、実施形態の情報検索装置は、仲介装置1、検索装置2、仮評価装置3、評価装置4を含んで構成される。なお、図1においては、実施形態の情報検索装置の要部のみが描かれている。 FIG. 1 is a diagram showing a configuration of an information search apparatus according to an embodiment of the present invention. As shown in FIG. 1, the information search device according to the embodiment includes an intermediary device 1, a search device 2, a temporary evaluation device 3, and an evaluation device 4. In FIG. 1, only the main part of the information search apparatus of the embodiment is illustrated.
この情報検索装置は、与えられた検索要求に応じてデータベース11を検索する。データベース11は、1または複数の情報記録装置から構成されており、様々な情報が蓄積されている。以下では、データベース11に格納されている各検索対象を「レコード」と呼ぶことにする。なお、各「レコード」は、例えば、Web上の1つのページ、或いは1つの文書に相当する。 This information search device searches the database 11 in response to a given search request. The database 11 is composed of one or a plurality of information recording devices and stores various information. Hereinafter, each search object stored in the database 11 is referred to as a “record”. Each “record” corresponds to, for example, one page on the Web or one document.
仲介装置1は、各利用者により入力される検索要求を受け付ける。検索要求は、1または複数のキーワードを含んでいる。これらのキーワードは、利用者の指示に応じて、OR条件および/またはAND条件を利用した論理式を構成している。以下、このようにして生成される論理式を「検索論理式」と呼ぶことにする。なお、検索要求がキーワードを1つだけ含む場合には、その1つのキーワードが検索論理式となる。 The intermediary device 1 accepts a search request input by each user. The search request includes one or more keywords. These keywords constitute a logical expression using an OR condition and / or an AND condition in accordance with a user instruction. Hereinafter, the logical expression generated in this way is referred to as “search logical expression”. When the search request includes only one keyword, the one keyword becomes a search logical expression.
この実施例では、検索論理式として、Aさん、Bさん、Cさんからそれぞれ「赤&車」「筆orペン&毛」「海or山」が入力されている。「赤&車」は、「「赤」を含み、且つ、「車」を含む。」を意味する。「筆orペン&毛」は、「「筆」を含むか、或いは、「ペン」及び「毛」の双方を含む。」を意味する。「海or山」は、「「海」を含むか、或いは、「山」を含む。」を意味する。 In this embodiment, “red & car”, “brush or pen & hair”, and “sea or mountain” are input from A, B, and C as search logical expressions. “Red & car” includes “red” and includes “car”. "Means. "Brush or pen & hair" includes "" brush "or includes both" pen "and" hair ". "Means. "Sea or mountain" includes "" sea "or includes" mountain ". "Means.
仲介装置1は、予め決められた所定数の検索要求を並列に処理する。図1に示す実施例では、3つの検索要求(すなわち、3つの検索論理式)が並列に処理される。
仲介装置1は、並列に処理すべき複数の検索論理式からキーワードを抽出する。この実
施例では、7つのキーワード「赤」「車」「筆」「ペン」「毛」「海」「山」が抽出される。なお、検索論理式からキーワードを抽出する方法は、公知の技術で実現可能であるので、説明を省略する。そして、仲介装置1は、抽出したすべてのキーワードを含むクエリリストを生成して検索装置2へ送信する。
The intermediary device 1 processes a predetermined number of search requests determined in advance in parallel. In the embodiment shown in FIG. 1, three search requests (ie, three search logical expressions) are processed in parallel.
The intermediary device 1 extracts keywords from a plurality of search logical expressions to be processed in parallel. In this embodiment, seven keywords “red”, “car”, “brush”, “pen”, “hair”, “sea”, and “mountain” are extracted. Note that a method for extracting a keyword from a search logical expression can be realized by a known technique, and thus description thereof is omitted. Then, the intermediary device 1 generates a query list including all the extracted keywords and transmits it to the search device 2.
検索装置2は、データベース11に格納されている各レコードに対して、キーワード検索を実行する。ここでは、ある1つのレコードについて検索を実行した場合について説明する。すなわち、検索対象レコードに上記7つのキーワードがそれぞれ含まれているか否かをチェックする。この実施例では、「赤」「海」「山」「毛」がヒットしたが、「車」「筆」「ペン」はヒットしていない。そして、検索装置2は、検索結果を仲介装置1へ返送する。なお、キーワード検索の方法は、特に限定されるものではなく、公知の任意の技術を利用することができる。 The search device 2 performs a keyword search for each record stored in the database 11. Here, a case where a search is executed for a certain record will be described. That is, it is checked whether or not each of the seven keywords is included in the search target record. In this example, “red”, “sea”, “mountain”, and “hair” were hit, but “car”, “brush”, and “pen” were not hit. Then, the search device 2 returns the search result to the mediation device 1. The keyword search method is not particularly limited, and any known technique can be used.
仲介装置1は、クエリテーブル21を作成する。クエリテーブル21には、検索論理式から抽出したキーワードが登録される。そして、登録された各キーワードについて、検索装置2による検索結果が書き込まれる。図1では、データベース11においてヒットしたキーワード(赤、海、山、毛)に対して「○」印が書き込まれている。 The intermediary device 1 creates a query table 21. In the query table 21, keywords extracted from the search logical expression are registered. Then, a search result by the search device 2 is written for each registered keyword. In FIG. 1, “◯” marks are written for keywords (red, sea, mountain, hair) hit in the database 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が複雑であっても、検索時間は短くなる。
Further, the intermediary device 1 generates a corresponding temporary logical expression by simplifying the search logical expression input by each user. Hereinafter, a method for generating the temporary logical expression Z1 ′ from the search logical expression Z1 will be described. Here, it is assumed that the following search logical expression Z1 is given.
Z1 = ((((A1 or A2) and (A3 or A4 or A5) and A6) or (B1 and B2)) and (C1 or C2)
In the simplification procedure, the conversion is performed so as to satisfy the requirement of “Z1 = 1”. Specifically, as shown in FIG. 2, the logical expression is transformed by deleting keywords connected by the AND condition. That is, “A3 or A4 or A5” and “A6” are connected to “A1 or A2” under AND conditions. Therefore, both “A3 or A4 or A5” and “A6” are deleted. In addition, “C1 or C2” is connected to “B1 and B2” using an AND condition. Therefore, “C1 or C2” is also deleted. Furthermore, “B2” is connected to “B1” under an AND condition. Therefore, “B2” is also deleted. As a result, the following provisional logical expression Z1 ′ is obtained. Z1 '= A1 or A2 or B1
In this way, the provisional logical expression Z1 ′ is obtained by deleting the keyword connected by the AND condition in the search logical expression Z1. Therefore, the set of records satisfying the temporary logical expression Z1 ′ includes all the sets of records satisfying the search logical expression Z1. In the present invention, the search time is shortened by utilizing this property. That is, when extracting records satisfying the search logical expression Z1, first, records satisfying the temporary logical expression Z1 ′ are extracted. Here, since the provisional logical expression Z1 ′ is described only by the OR condition, it is easy to determine whether or not each record satisfies the logic. Subsequently, a record satisfying the search logical expression Z1 is extracted from a set of records satisfying the temporary logical expression Z1 ′. At this time, the set to be searched is reduced by the provisional logical expression Z1 ′ described above. For this reason, even if the search logical expression Z1 is complicated, the search time is shortened.
上記簡略化により、Aさんにより入力された検索論理式「赤&車」は、仮論理式「赤」に変換される。また、Bさんにより入力された検索論理式「筆orペン&毛」は、仮論理式「筆orペン」に変換される。ただし、Cさんにより入力された検索論理式「海&山」は、AND条件を含んでいないので、仮論理式は検索論理式と同じである。 With the above simplification, the search logical expression “red & car” input by Mr. A is converted into a temporary logical expression “red”. In addition, the search logical expression “brush or pen & hair” input by Mr. B is converted into a temporary logical expression “brush or pen”. However, since the search logical expression “sea & mountain” input by Mr. C does not include an AND condition, the temporary logical expression is the same as the search logical expression.
仲介装置1は、上述のようにして生成した仮論理式を管理するための仮ヒットテーブル22を作成する。仮ヒットテーブル22は、各仮論理式をそれぞれ1ビットの仮結果フラグで管理する。図1では、仮結果フラグを「○」「×」で表している。 The intermediary device 1 creates a temporary hit table 22 for managing the temporary logical expressions generated as described above. The temporary hit table 22 manages each temporary logical expression with a 1-bit temporary result flag. In FIG. 1, the temporary result flag is represented by “◯” and “×”.
上記構成のクエリテーブル21および仮ヒットテーブル22は、下記のようにして更新される。ここでは、ある1つのレコード(すなわち、データベース11に格納されているある文書)についての処理を説明する。 The query table 21 and the temporary hit table 22 configured as described above are updated as follows. Here, a process for a certain record (that is, a certain document stored in the database 11) will be described.
(1)検索装置2は、文書中に「赤」が含まれていることを検出すると、その旨を仲介装置1に通知する。仲介装置1は、この通知を受け取ると、クエリテーブル21において「赤」に対応するヒットフラグを設定し、仮ヒットテーブル22において「Aさん」に対応する仮結果フラグを設定する。図1では、「○」印は、フラグが設定されたことを示している。 (1) When the search device 2 detects that “red” is included in the document, the search device 2 notifies the mediation device 1 to that effect. Upon receiving this notification, the intermediary device 1 sets a hit flag corresponding to “red” in the query table 21 and sets a temporary result flag corresponding to “Mr. A” in the temporary hit table 22. In FIG. 1, the mark “◯” indicates that the flag has been set.
(2)検索装置2は、文書中に「海」が含まれていることを検出すると、その旨を仲介装置1に通知する。仲介装置1は、この通知を受け取ると、クエリテーブル21において「海」に対応するヒットフラグを設定し、仮ヒットテーブル22において「Cさん」に対応する仮結果フラグを設定する。 (2) When the search device 2 detects that “sea” is included in the document, the search device 2 notifies the intermediary device 1 to that effect. Upon receiving this notification, the intermediary device 1 sets a hit flag corresponding to “Sea” in the query table 21 and sets a temporary result flag corresponding to “Mr. C” in the temporary hit table 22.
(3)検索装置2は、文書中に「赤」が含まれていることを検出すると、その旨を仲介装置1に通知する。この場合、仲介装置1は、上記(1)と同様の処理を行う。
(4)検索装置2は、文書中に「山」が含まれていることを検出すると、その旨を仲介装置1に通知する。仲介装置1は、この通知を受け取ると、クエリテーブル21において「山」に対応するヒットフラグを設定し、仮ヒットテーブル22において「Cさん」に対応する仮結果フラグを設定する。
(3) When the search device 2 detects that “red” is included in the document, the search device 2 notifies the mediation device 1 to that effect. In this case, the mediation apparatus 1 performs the same process as (1) above.
(4) When the search device 2 detects that “mountain” is included in the document, the search device 2 notifies the mediation device 1 to that effect. Upon receiving this notification, the intermediary device 1 sets a hit flag corresponding to “mountain” in the query table 21, and sets a temporary result flag corresponding to “Mr. C” in the temporary hit table 22.
(5)検索装置2は、文書中に「毛」が含まれていることを検出すると、その旨を仲介装置1に通知する。仲介装置1は、この通知を受け取ると、クエリテーブル21において「毛」に対応するヒットフラグを設定する。しかし、「毛」を含む仮論理式は存在しないので、仮ヒットテーブル22は更新されない。 (5) When the search device 2 detects that “hair” is included in the document, the search device 2 notifies the mediation device 1 to that effect. Upon receiving this notification, the intermediary device 1 sets a hit flag corresponding to “hair” in the query table 21. However, since there is no provisional logical expression including “hair”, the provisional hit table 22 is not updated.
上記手順(1)〜(5)により、クエリテーブル21および仮ヒットテーブル22は、図1に示す状態に更新される。即ち、クエリテーブル21において、「赤」「海」「山」「毛」に対して「1(○)」が設定され、「車」「筆」「ペン」に対して「0(無印)」が設定されている。また、仮ヒットテーブル22においては、Aさん及びCさんの検索要求に対応する仮論理式に対して「1(○)」が設定され、Bさんの検索要求に対応する仮論理式に対して「0(×)」が設定されている。 Through the procedures (1) to (5), the query table 21 and the temporary hit table 22 are updated to the state shown in FIG. That is, in the query table 21, “1 (◯)” is set for “red”, “sea”, “mountain”, and “hair”, and “0 (no mark)” for “car”, “brush”, and “pen”. Is set. In the temporary hit table 22, “1 (◯)” is set for the temporary logical expressions corresponding to the search requests of Mr. A and Mr. C, and the temporary logical expression corresponding to the search request of Mr. B is set. “0 (×)” is set.
ここで、図3を参照しながら、仮論理式の評価について説明する。「評価」とは、論理式を満たすレコードが存在するか否かを判定する処理を意味する。
一般的な評価手順では、論理式を構成する各要素(すなわち、キーワード)についての検索結果を保持しておき、それらの検索結果に対して論理演算を実行することによってその論理式を評価する。これに対して、本発明に係わる情報検索装置においては、仮論理式がOR条件だけで記述されていることを利用し、その仮論理式を構成する要素の中の1つ以上がヒットしたときに「真(論理が満たされている)」と判定し、いずれの要素もヒットしなかったときに「偽(論理が満たされていない)」と判定する。そして、この判定結果(真/偽)は、1ビット仮結果フラグとして仮ヒットテーブル22に書き込まれる。すなわち、本発明では、仮論理式を評価する際に、論理演算を必要としない。
Here, the evaluation of the provisional logical expression will be described with reference to FIG. “Evaluation” means processing for determining whether or not there is a record satisfying the logical expression.
In a general evaluation procedure, a search result for each element (that is, a keyword) constituting a logical expression is held, and the logical expression is evaluated by executing a logical operation on the search result. On the other hand, in the information retrieval apparatus according to the present invention, when one or more of the elements constituting the temporary logical expression is hit using the fact that the temporary logical expression is described only by the OR condition. Is determined to be “true (logic is satisfied)”, and when no element is hit, it is determined to be “false (logic is not satisfied)”. This determination result (true / false) is written in the temporary hit table 22 as a 1-bit temporary result flag. That is, in the present invention, no logical operation is required when evaluating a provisional logical expression.
仮評価装置3は、仮ヒットテーブル22を参照し、各利用者から入力された検索要求の中で評価をする必要のある検索要求を決定する。図1に示す例では、Aさん及びCさんの仮論理式に対して「1(○)」が設定されている。よって、この場合、仮評価装置3は、Aさん及びCさんの検索要求について評価をする必要があると判断し、その旨を評価装置4に通知する。 The temporary evaluation device 3 refers to the temporary hit table 22 and determines a search request that needs to be evaluated from among the search requests input from each user. In the example shown in FIG. 1, “1 (◯)” is set for the provisional logical expressions of Mr. A and Mr. C. Therefore, in this case, the temporary evaluation device 3 determines that it is necessary to evaluate the search requests of Mr. A and Mr. C, and notifies the evaluation device 4 to that effect.
ここで、図4を参照しながら、仮評価装置3の動作を説明する。ここでは、仮ヒットテーブル22は32ビットレジスタであるものとする。この場合、32個の検索要求(或いは、32人の利用者)を同時に処理することができる。そして、各利用者の検索要求に対応する仮論理式についての仮結果フラグが、その32ビットレジスタの対応するビットに書き込まれるものとする。 Here, the operation of the provisional evaluation device 3 will be described with reference to FIG. Here, it is assumed that the temporary hit table 22 is a 32-bit register. In this case, 32 search requests (or 32 users) can be processed simultaneously. Then, it is assumed that a temporary result flag for the temporary logical expression corresponding to each user's search request is written in the corresponding bit of the 32-bit register.
仮評価装置3は、SCAN命令を利用して、「1」が書き込まれているビット位置を検出する。SCAN命令は、多くのCPUによりサポートされている命令であり、レジスタの最上位ビットから順番に各ビットの値をチェックしてゆき、最初に「1」が検出されたビット位置を通知する。また、SCAN命令は、「1」が検出されたビットをクリアする(すなわち、「0」を書き込む)手順も含んでいる。よって、このSCAN命令を繰り返し実行することにより、仮論理式が検索条件を満たしている検索要求を検出することができる。 The temporary evaluation device 3 detects the bit position where “1” is written using the SCAN instruction. The SCAN instruction is an instruction supported by many CPUs. The value of each bit is checked in order from the most significant bit of the register, and the bit position where “1” is detected first is notified. The SCAN instruction also includes a procedure for clearing a bit where “1” is detected (that is, writing “0”). Therefore, by repeatedly executing this SCAN instruction, it is possible to detect a search request in which the temporary logical expression satisfies the search condition.
評価装置4は、クエリテーブル21を参照し、仮評価装置3から通知された検索要求についてのみ評価を行う。図1に示す例では、Bさんの検索要求についての評価を行うことなく、Aさん及びCさんの検索要求についてのみ論理評価を行う。このとき、Aさんの検索論理式は「赤&車」であり、「車」がヒットしていないので、「偽」と評価される。一方、Cさんの検索論理式は「海or山」であり、「真」と評価される。 The evaluation device 4 refers to the query table 21 and evaluates only the search request notified from the temporary evaluation device 3. In the example shown in FIG. 1, the logical evaluation is performed only for the search requests of Mr. A and Mr. C without evaluating the search request of Mr. B. At this time, Mr. A's search logical expression is “red & car”, and “car” is not hit, so it is evaluated as “false”. On the other hand, Mr. C's search logical expression is “sea or mountain” and is evaluated as “true”.
評価装置4は、上述の評価結果をヒットテーブルに書き込む。ヒットテーブルは、図5に示すように、各利用者の検索要求がそれぞれ各レコードにヒットしたのか否かを管理する。1つのヒットテーブルにより管理される利用者(検索要求)の数は、例えば、仮ヒットテーブル22を構成するレジスタのビット数と同じである。そして、評価装置4は、各レコードについての評価を行う毎に、その結果をヒットテーブルに書き込む。 The evaluation device 4 writes the above-described evaluation result in the hit table. As shown in FIG. 5, the hit table manages whether or not each user's search request hits each record. The number of users (search requests) managed by one hit table is, for example, the same as the number of bits of a register constituting the temporary hit table 22. Each time the evaluation device 4 evaluates each record, the evaluation device 4 writes the result in the hit table.
全てのレコードについて各検索要求の論理評価が終了すると、ヒットテーブルが完成する。そして、実施形態の情報検索装置は、完成したヒットテーブルを参照し、各利用者に対してヒットレコードを識別する情報、或いはそのレコードに対応する文書の一部または全部を検索結果として送信する。図5に示す例では、利用者Aに対して、レコード3を識別する情報(或いは、レコード3に対応する文書の一部または全部)が検索結果として送信される。また、利用者Cに対して、レコード4を識別する情報(或いは、レコード4に対応する文書の一部または全部)が検索結果として送信される。 When the logical evaluation of each search request is completed for all records, the hit table is completed. The information search apparatus according to the embodiment refers to the completed hit table and transmits information for identifying the hit record to each user or a part or all of the document corresponding to the record as a search result. In the example shown in FIG. 5, information for identifying the record 3 (or a part or all of the document corresponding to the record 3) is transmitted to the user A as a search result. Further, information for identifying the record 4 (or a part or all of the document corresponding to the record 4) is transmitted to the user C as a search result.
図6は、実施形態の情報検索装置の動作を示すフローチャートである。なお、このフローチャートの処理は、利用者から検索要求が与えられたときに実行される。
ステップS1では、各検索要求に含まれているキーワードを抽出する。ここで、複数の検索要求(例えば、仮ヒットテーブルを構成するレジスタのビット数と同じ数の検索要求)が一括して処理される。ステップS2では、クエリテーブルを作成する。ステップS3では、各検索要求を簡略化することによって対応する仮論理式を作成し、各仮論理式についての評価を管理するための仮ヒットテーブルを作成する。そして、ステップS1で抽出した各キーワードについての検索を実行するために検索エンジンを起動する。なお、ステップS1〜S4は、仲介装置1により実行される。
FIG. 6 is a flowchart illustrating the operation of the information search apparatus according to the embodiment. Note that the processing of this flowchart is executed when a search request is given from the user.
In step S1, keywords included in each search request are extracted. Here, a plurality of search requests (for example, search requests having the same number as the number of bits of the registers constituting the temporary hit table) are processed in a lump. In step S2, a query table is created. In step S3, a corresponding provisional logical expression is created by simplifying each search request, and a provisional hit table for managing evaluation for each provisional logical expression is created. Then, a search engine is activated to execute a search for each keyword extracted in step S1. Note that steps S1 to S4 are executed by the mediation apparatus 1.
ステップS5〜S11は、各レコードに対して実行される。すなわち、ステップS5〜S9は、繰り返し実行される。ステップS5では、指定されたレコードについてキーワード検索を実行する。ステップS5は、検索装置2により実行される。ステップS6では、検索結果に従ってクエリテーブルおよび仮ヒットテーブルを更新する。ステップS6は、仲介装置1により実行される。ステップS7では、仮ヒットテーブルを参照し、評価すべ
き検索要求を捜し出す。ステップS7は、仮評価装置3により実行される。ステップS8では、ステップS7で指定された検索要求についてのみ論理評価を行う。そして、ステップS9において、評価結果をヒットテーブルに書き込む。ステップS8〜S9は、評価装置4により実行される。
Steps S5 to S11 are executed for each record. That is, steps S5 to S9 are repeatedly executed. In step S5, keyword search is executed for the designated record. Step S5 is executed by the search device 2. In step S6, the query table and the temporary hit table are updated according to the search result. Step S6 is executed by the mediation apparatus 1. In step S7, the temporary hit table is referred to search for a search request to be evaluated. Step S7 is executed by the provisional evaluation device 3. In step S8, logical evaluation is performed only for the search request specified in step S7. In step S9, the evaluation result is written in the hit table. Steps S8 to S9 are executed by the evaluation device 4.
すべてのレコードについてステップS5〜S9を実行すると、ステップS12に進む。ステップS12では、ヒットテーブルを参照し、各利用者に検索結果を送信する。
図7は、論理評価の処理量について説明する図である。なお、従来技術は、図10〜図11に示す検索方法であるものとする。また、図7では、1レコード当たりの処理量を示している。
When Steps S5 to S9 are executed for all records, the process proceeds to Step S12. In step S12, the hit table is referenced and the search result is transmitted to each user.
FIG. 7 is a diagram for explaining the processing amount of logic evaluation. The prior art is assumed to be the search method shown in FIGS. Further, FIG. 7 shows the processing amount per record.
従来技術においては、各検索要求の論理を評価する際に、評価処理およびテーブル更新処理が行われる。そして、評価処理の処理量は、「各検索論理式の評価の処理量E×検索要求の数」に相当する。また、テーブル更新処理の処理量は、「書込み処理の処理量G×ヒット数」に相当する。 In the prior art, when the logic of each search request is evaluated, an evaluation process and a table update process are performed. The processing amount of the evaluation process corresponds to “the processing amount E of each search logical expression × the number of search requests”. The processing amount of the table update processing corresponds to “the processing amount G of the writing processing × the number of hits”.
これに対して実施形態の検索方法では、各検索要求の論理を評価する際に、評価処理、仮ヒットテーブルのサーチ処理、およびテーブル更新処理が必要である。そして、評価処理の処理量は、「各検索論理式の評価の処理量E×仮論理式のヒット数」に相当する。また、サーチ処理の処理量は、「テーブルサーチ処理の処理量F×仮論理式のヒット数」に相当する。さらに、テーブル更新処理の処理量は、「書込み処理の処理量G×(ヒット数+仮論理式のヒット数)」に相当する。 On the other hand, in the search method of the embodiment, when the logic of each search request is evaluated, an evaluation process, a temporary hit table search process, and a table update process are required. The processing amount of the evaluation processing corresponds to “the processing amount E of each search logical expression × the number of hits of the temporary logical expression”. Further, the processing amount of the search process corresponds to “the processing amount F of the table search process × the number of hits of the provisional logical expression”. Further, the processing amount of the table update processing corresponds to “processing amount G of writing processing × (number of hits + number of hits of provisional logical expression)”.
ところで、一般に、データベース11に蓄積されている情報量は膨大である。即ち、レコード数nは膨大である。このため、検索要求に含まれているキーワードが極めてありふれた用語でない限りは、キーワード検索におけるヒット率はかなり低くなるはずである。換言すれば、データベース11の全レコードを検索する際には、大部分のレコードにおいて仮論理式が「偽」と判断されるものと考えられる。そして、仮論理式が「偽」と判断された検索用要求については、論理評価は実行されない。したがって、実施形態の情報検索装置においては、実際に評価を行う検索論理式の数は、従来技術と比較して大幅に少なくなる。 In general, the amount of information stored in the database 11 is enormous. That is, the record number n is enormous. For this reason, unless the keyword included in the search request is a very common term, the hit rate in the keyword search should be considerably low. In other words, when searching all records in the database 11, it is considered that the provisional logical expression is determined to be “false” in most records. The logical evaluation is not executed for the search request for which the provisional logical expression is determined to be “false”. Therefore, in the information retrieval apparatus of the embodiment, the number of retrieval logical expressions that are actually evaluated is significantly smaller than that of the conventional technique.
一例を示す。ここでは、32個の検索要求を同時に処理するものとする。また、データベースに蓄積されている対象が100万レコードであるものとする。さらに、各仮論理式の平均ヒット率が0.1パーセントであるものとする。そうすると、従来技術の検索方法によれば、検索論理式の評価回数が3200万(=32×100万)となる。これに対して、実施形態の検索方法によれば、仮論理式がヒットした場合にのみ実際の論理評価が行われるので、検索論理式の評価回数は32000(=32×100万×0.001)となる。 An example is shown. Here, 32 search requests are processed simultaneously. In addition, it is assumed that the target accumulated in the database is 1 million records. Furthermore, it is assumed that the average hit rate of each provisional logical expression is 0.1%. Then, according to the conventional search method, the number of evaluations of the search logical expression becomes 32 million (= 32 × 1 million). On the other hand, according to the search method of the embodiment, since the actual logical evaluation is performed only when the temporary logical expression is hit, the number of evaluations of the search logical expression is 32000 (= 32 × 1 million × 0.001). )
なお、実施形態の検索方法では、従来技術と異なり、仮ヒットテーブルを更新する処理が発生する。しかし、この処理は、レジスタの対応するビットを更新するだけであり、検索論理式の論理評価と比較してその処理量は十分に小さい。また、実施形態の検索方法では、従来技術と異なり、仮ヒットテーブルをサーチする処理が発生する。しかし、この処理は、SCAN命令等を用いてレジスタの各ビットを参照するだけであり、検索論理式の論理評価と比較してその処理量は十分に小さい。したがって、実施形態の検索方法においては、従来技術と比較すると、新たな処理が発生するものの、検索論理式の評価全体としては、その処理量を大幅に減らすことができる。これにより、検索処理全体の処理時間が短縮される。 In the search method of the embodiment, unlike the prior art, processing for updating the temporary hit table occurs. However, this processing only updates the corresponding bit of the register, and the amount of processing is sufficiently small compared with the logical evaluation of the search logical expression. Further, in the search method of the embodiment, unlike the conventional technique, a process for searching the temporary hit table occurs. However, this processing only refers to each bit of the register using a SCAN instruction or the like, and the amount of processing is sufficiently small compared with the logical evaluation of the search logical expression. Therefore, in the search method of the embodiment, although new processing occurs as compared with the conventional technique, the processing amount can be significantly reduced as the overall evaluation of the search logical expression. Thereby, the processing time of the whole search process is shortened.
このように、本発明は、多くの情報検索において検索対象数に対してヒット数が少ない(即ち、ヒット率が低い)ことを利用する。一実施形態においては、複数の検索要求に対して、各検索論理式の必要条件となるOR論理のみから構成される仮論理式を生成し、各検索要求に対して1ビットを割り当てる。そして、仮論理式に含まれるキーワードがヒットしたときは、その仮論理式に対応する検索要求もヒットする可能性があるので、その検索要求について論理式の評価を行う。一方、仮論理式に含まれるキーワードがヒットしなかったときは、その仮論理式に対応する検索要求がヒットする可能性はないので、その検索要求について論理式の評価は行わない。したがって、検索論理式の評価に要する時間は、検索要求の多重度または複雑度にはほとんど依存しなくなり、キーワードのヒット率に依存することになる。したがって、キーワードのヒット率が非常に低いものとすると、検索論理式の評価を、1回のスキャンを実行する期間内に実現できる。 As described above, the present invention utilizes the fact that the number of hits is smaller than the number of search targets in many information searches (that is, the hit rate is low). In one embodiment, a temporary logical expression composed only of OR logic, which is a necessary condition for each search logical expression, is generated for a plurality of search requests, and 1 bit is assigned to each search request. When a keyword included in the temporary logical expression is hit, the search request corresponding to the temporary logical expression may also be hit, and the logical expression is evaluated for the search request. On the other hand, if the keyword included in the temporary logical expression does not hit, there is no possibility that the search request corresponding to the temporary logical expression will hit, so the logical expression is not evaluated for the search request. Therefore, the time required for evaluating the search logical expression hardly depends on the multiplicity or complexity of the search request, and depends on the keyword hit rate. Therefore, if the keyword hit rate is very low, the evaluation of the search logical expression can be realized within a period for executing one scan.
図8は、クエリテーブル21および仮ヒットテーブル22の更新について説明する図である。この実施例では、クエリテーブル21には、登録されたキーワード毎に、位置情報を書き込むための領域が設けられている。位置情報は、当該キーワードを含む仮論理式に対応する仮結果フラグを格納する位置(アドレス)を表す。この位置情報は、仮論理式を生成して仮ヒットテーブル22の所定のビットを割り当てたときに設定される。例えば、仮論理式「赤」が生成され、この仮論理式に対応する仮結果フラグが仮ヒットテーブル22の第Aビット割り当てられると、クエリテーブル21において、キーワード「赤」の位置情報として「A」が設定される。同様に、仮論理式「筆orペン」が生成され、この仮論理式に対応する仮結果フラグが仮ヒットテーブル22の第Bビット割り当てられると、クエリテーブル21において、キーワード「筆」および「ペン」の位置情報としてそれぞれ「B」が設定される。 FIG. 8 is a diagram for explaining the update of the query table 21 and the provisional hit table 22. In this embodiment, the query table 21 is provided with an area for writing position information for each registered keyword. The position information represents the position (address) where the temporary result flag corresponding to the temporary logical expression including the keyword is stored. This position information is set when a temporary logical expression is generated and a predetermined bit of the temporary hit table 22 is assigned. For example, when the temporary logical expression “red” is generated and the temporary result flag corresponding to the temporary logical expression is assigned to the Ath bit of the temporary hit table 22, the query table 21 stores “A” as the position information of the keyword “red”. Is set. Similarly, when the temporary logical expression “brush or pen” is generated and the temporary result flag corresponding to the temporary logical expression is assigned to the Bth bit of the temporary hit table 22, the keywords “brush” and “pen” are stored in the query table 21. "B" is set as the position information of "."
上述のようなテーブル構成を導入すれば、例えば、キーワード「赤」がヒットしたときには、クエリテーブル21において「赤」に対応するフラグに「1(○)」が設定されると共に、位置情報Aに基づいて仮ヒットテーブル22において第Aビットに「1(○)」が書き込まれる。 If the table structure as described above is introduced, for example, when the keyword “red” is hit, a flag corresponding to “red” in the query table 21 is set to “1 (◯)” and the position information A Based on this, “1 (◯)” is written to the A-th bit in the temporary hit table 22.
図9は、本発明の機能を記述したプログラムを実行するコンピュータのブロック図である。本発明に係わる機能は、コンピュータを用いて上述の処理を記述したプログラムを実行することにより実現される。 FIG. 9 is a block diagram of a computer that executes a program describing the functions of the present invention. The functions according to the present invention are realized by executing a program describing the above-described processing using a computer.
CPU31は、上述の処理手順を記述したプログラムを記憶装置32からメモリ33にロードして実行する。記憶装置32は、たとえばハードディスクであり、上記プログラムを格納する。なお、記憶装置32は、コンピュータ30に接続される外部記憶装置であってもよい。メモリ33は、例えば半導体メモリであり、CPU31の作業領域として使用される。 The CPU 31 loads a program describing the above-described processing procedure from the storage device 32 to the memory 33 and executes it. The storage device 32 is a hard disk, for example, and stores the program. Note that the storage device 32 may be an external storage device connected to the computer 30. The memory 33 is, for example, a semiconductor memory and is used as a work area for the CPU 31.
記録媒体ドライバ34は、CPU31の指示に従って可搬性記録媒体35にアクセスする。可搬性記録媒体35は、例えば、半導体デバイス(PCカード等)、磁気的作用により情報が入出力される媒体(フレキシブルディスク、磁気テープ等)、光学的作用により情報が入出力される媒体(光ディスク等)を含むものとする。通信制御装置36は、CPU31の指示に従って、ネットワークを介してデータを送受信する。 The recording medium driver 34 accesses the portable recording medium 35 in accordance with instructions from the CPU 31. The portable recording medium 35 is, for example, a semiconductor device (PC card or the like), a medium (flexible disk, magnetic tape, etc.) to which information is input / output by magnetic action, or a medium (optical disk) to which information is input / output by optical action. Etc.). The communication control device 36 transmits / receives data via the network in accordance with instructions from the CPU 31.
上記構成のコンピュータ30において、利用者からの検索要求は、例えば、利用者端末において入力され、ネットワークを介して受信する。なお、実施形態の情報検索装置は、1台のコンピュータにより実現されてもよいし、互いに接続された複数のコンピュータにより実現されてもよい。また、図1に示す仲介装置1、検索装置2、仮評価装置3、評価装置4は、プログラムを実行することにより実現してもよいし、その一部をハードウェア
で構成するようにしてもよい。
In the computer 30 configured as described above, a search request from a user is input at a user terminal, for example, and received via a network. Note that the information search apparatus of the embodiment may be realized by a single computer or a plurality of computers connected to each other. Further, the intermediary device 1, the search device 2, the temporary evaluation device 3, and the evaluation device 4 shown in FIG. 1 may be realized by executing a program, or a part thereof may be configured by hardware. Good.
(付記1)
複数の検索論理式から検索要素を抽出する抽出部と、
前記検索要素についてデータベース検索を行う検索部と、
前記複数の検索論理式をそれぞれ簡略化して、前記複数の検索論理式に対応する複数の仮論理式を生成する簡略化部と、
前記検索部の検索結果に応じて前記仮論理式について論理評価を行う第1の評価部と、
前記第1の評価部において第1評価値と評価された仮論理式に対応する検索論理式について論理評価を行う第2の評価部と
を有する情報検索装置。
(Appendix 1)
An extraction unit that extracts search elements from a plurality of search logical expressions;
A search unit for performing a database search for the search element;
Simplifying each of the plurality of search logical expressions to generate a plurality of provisional logical expressions corresponding to the plurality of search logical expressions;
A first evaluation unit that performs logical evaluation on the provisional logical expression in accordance with a search result of the search unit;
An information search apparatus comprising: a second evaluation unit that performs logical evaluation on a search logical expression corresponding to a temporary logical expression evaluated as a first evaluation value in the first evaluation unit.
(付記2)
付記1に記載の情報検索装置であって、
前記簡略化部は、与えられた検索論理式においてAND条件で接続されたキーワードを削除することにより、仮論理式を生成する
ことを特徴とする情報検索装置。
(Appendix 2)
The information search device according to attachment 1, wherein
The simplification unit generates a temporary logical expression by deleting a keyword connected by an AND condition in a given search logical expression.
(付記3)
付記1に記載の情報検索装置であって、
前記簡略化部は、前記検索論理式のOR条件だけで規定した仮論理式に変換する
ことを特徴とする情報検索装置。
(Appendix 3)
The information search device according to attachment 1, wherein
The simplification unit converts the provisional logical expression defined only by an OR condition of the retrieval logical expression.
(付記4)
付記1または付記2に記載の情報検索装置であって、
前記複数の仮論理式をそれぞれ1ビットの仮結果情報で管理する管理部をさらに備え、
前記第1の評価部は、前記複数の仮論理式により規定されている検索条件が満たされているか否かに応じて、前記管理部で管理された対応する仮結果情報を更新し、
前記第2の評価部は、前記管理部を参照し、前記検索条件が満たされている仮論理式に対応する検索論理式についてのみ論理評価を行う
ことを特徴とする情報検索装置。
(Appendix 4)
An information search device according to appendix 1 or appendix 2,
A management unit that manages each of the plurality of provisional logical expressions with 1-bit provisional result information;
The first evaluation unit updates corresponding temporary result information managed by the management unit according to whether or not a search condition defined by the plurality of temporary logical expressions is satisfied,
The second evaluation unit refers to the management unit and performs logical evaluation only on a search logical expression corresponding to a provisional logical expression that satisfies the search condition.
(付記5)
請求項1又は2に記載の情報検索装置であって、
前記第2の評価部は、前記第1の評価部において第2評価値と評価された仮論理式に対応する検索論理式についての論理評価を行わず、前記第1の評価部において前記仮論理式が前記第1評価値と評価されたときに対応する前記検索論理式のみについて論理評価を行う
ことを特徴とする情報検索装置。
(Appendix 5)
The information search device according to claim 1 or 2,
The second evaluation unit does not perform logical evaluation on the search logical expression corresponding to the temporary logical expression evaluated as the second evaluation value by the first evaluation unit, and does not perform the logical evaluation in the first evaluation unit. An information search apparatus, wherein logical evaluation is performed only for the search logical expression corresponding to when the expression is evaluated as the first evaluation value.
(付記6)
検索論理式から検索要素を抽出する抽出部と、
前記検索要素についてデータベース検索を行う検索部と、
前記検索論理式を簡略化し、仮論理式を生成する簡略化部と、
前記検索部の検索結果に応じて前記仮論理式について論理評価を行う第1の評価部と、
前記第1の評価部において前記仮論理式が第1評価値と評価されたときに対応する検索論理式について論理評価を行う第2の評価部と
を有する情報検索装置。
(Appendix 6)
An extraction unit for extracting a search element from a search logical expression;
A search unit for performing a database search for the search element;
A simplification unit for simplifying the search logical expression and generating a provisional logical expression;
A first evaluation unit that performs logical evaluation on the provisional logical expression in accordance with a search result of the search unit;
An information search apparatus comprising: a second evaluation unit that performs a logical evaluation on a search logical expression corresponding to the provisional logical expression evaluated as a first evaluation value in the first evaluation unit.
(付記7)
コンピュータにより実現される抽出部が、複数の検索論理式から検索要素を抽出し、
コンピュータにより実現される検索部が、前記検索要素についてデータベース検索を行い、
コンピュータにより実現される簡略化部が、前記複数の検索論理式をそれぞれ簡略化して、前記複数の検索論理式に対応する複数の仮論理式を生成し、
コンピュータにより実現される第1の評価部が、前記検索部の検索結果に応じて前記仮論理式について論理評価を行い、
コンピュータにより実現される第2の評価部が、前記第1の評価部において第1の評価値と評価された仮論理式に対応する検索論理式について論理評価を行う、
ことを特徴とする情報検索方法。
(Appendix 7)
An extraction unit realized by a computer extracts search elements from a plurality of search logical expressions,
A search unit realized by a computer performs a database search for the search element,
A simplification unit realized by a computer simplifies each of the plurality of search logical expressions to generate a plurality of temporary logical expressions corresponding to the plurality of search logical expressions,
A first evaluation unit implemented by a computer performs a logical evaluation on the provisional logical expression according to a search result of the search unit;
A second evaluation unit implemented by a computer performs a logical evaluation on a search logical expression corresponding to the temporary logical expression evaluated as the first evaluation value in the first evaluation unit;
An information search method characterized by that.
(付記8)
コンピュータを、
複数の検索論理式から検索要素を抽出する抽出部、前記検索要素ついてデータベース検索を行う検索部、前記複数の検索論理式をそれぞれ簡略化して前記複数の検索論理式に対応する複数の仮論理式を生成する簡略化部、前記検索部の検索結果に応じて前記仮論理式について論理評価を行う第1の評価部、および前記第1の評価部において第1評価値と評価された仮論理式に対応する検索論理式について論理評価を行う第2の評価部、
として機能させるための情報検索プログラム。
(Appendix 8)
Computer
An extraction unit that extracts search elements from a plurality of search logical expressions, a search unit that performs database search for the search elements, and a plurality of temporary logical expressions corresponding to the plurality of search logical expressions by simplifying the plurality of search logical expressions, respectively , A first evaluation unit that performs logical evaluation on the temporary logical expression according to a search result of the search unit, and a temporary logical expression that is evaluated as a first evaluation value in the first evaluation unit A second evaluation unit for performing a logical evaluation on the search logical expression corresponding to
Information retrieval program to function as
1 仲介装置
2 検索装置
3 仮評価装置
4 評価装置
11 データベース
21 クエリテーブル
22 仮ヒットテーブル
DESCRIPTION OF SYMBOLS 1 Mediation apparatus 2 Search apparatus 3 Temporary evaluation apparatus 4 Evaluation apparatus 11 Database 21 Query table 22 Temporary hit table
Claims (6)
前記検索要素についてデータベース検索を行う検索部と、
前記複数の検索論理式をそれぞれ簡略化して、前記複数の検索論理式に対応する複数の仮論理式を生成する簡略化部と、
前記検索部の検索結果に応じて前記仮論理式について論理評価を行う第1の評価部と、
前記第1の評価部において第1評価値と評価された仮論理式に対応する検索論理式について論理評価を行う第2の評価部と
を有する情報検索装置。 An extraction unit that extracts search elements from a plurality of search logical expressions;
A search unit for performing a database search for the search element;
Simplifying each of the plurality of search logical expressions to generate a plurality of provisional logical expressions corresponding to the plurality of search logical expressions;
A first evaluation unit that performs logical evaluation on the provisional logical expression in accordance with a search result of the search unit;
An information search apparatus comprising: a second evaluation unit that performs logical evaluation on a search logical expression corresponding to a temporary logical expression evaluated as a first evaluation value in the first evaluation unit.
前記簡略化部は、前記検索論理式のOR条件だけで規定した仮論理式に変換する
ことを特徴とする情報検索装置。 The information search device according to claim 1,
The simplification unit converts the provisional logical expression defined only by an OR condition of the retrieval logical expression.
前記複数の仮論理式をそれぞれ1ビットの仮結果情報で管理する管理部をさらに備え、
前記第1の評価部は、前記複数の仮論理式により規定されている検索条件が満たされているか否かに応じて、前記管理部で管理された対応する仮結果情報を更新し、
前記第2の評価部は、前記管理部を参照し、前記検索条件が満たされている仮論理式に対応する検索論理式についてのみ論理評価を行う
ことを特徴とする情報検索装置。 The information search device according to claim 1 or 2,
A management unit that manages each of the plurality of provisional logical expressions with 1-bit provisional result information;
The first evaluation unit updates corresponding temporary result information managed by the management unit according to whether or not a search condition defined by the plurality of temporary logical expressions is satisfied,
The second evaluation unit refers to the management unit and performs logical evaluation only on a search logical expression corresponding to a provisional logical expression that satisfies the search condition.
前記検索要素についてデータベース検索を行う検索部と、
前記検索論理式を簡略化し、仮論理式を生成する簡略化部と、
前記検索部の検索結果に応じて前記仮論理式について論理評価を行う第1の評価部と、
前記第1の評価部において前記仮論理式が第1評価値と評価されたときに対応する検索論理式について論理評価を行う第2の評価部と
を有する情報検索装置。 An extraction unit for extracting a search element from a search logical expression;
A search unit for performing a database search for the search element;
A simplification unit for simplifying the search logical expression and generating a provisional logical expression;
A first evaluation unit that performs logical evaluation on the provisional logical expression in accordance with a search result of the search unit;
An information search apparatus comprising: a second evaluation unit that performs a logical evaluation on a search logical expression corresponding to the provisional logical expression evaluated as a first evaluation value in the first evaluation unit.
前記第2の評価部は、前記第1の評価部において第2評価値と評価された仮論理式に対応する検索論理式についての論理評価を行わず、前記第1の評価部において前記仮論理式が前記第1評価値と評価されたときに対応する前記検索論理式のみについて論理評価を行う
ことを特徴とする情報検索装置。 The information search device according to claim 1 or 2,
The second evaluation unit does not perform logical evaluation on the search logical expression corresponding to the temporary logical expression evaluated as the second evaluation value by the first evaluation unit, and does not perform the logical evaluation in the first evaluation unit. An information search apparatus, wherein logical evaluation is performed only for the search logical expression corresponding to when the expression is evaluated as the first evaluation value.
複数の検索論理式から検索要素を抽出する抽出部、前記検索要素ついてデータベース検索を行う検索部、前記複数の検索論理式をそれぞれ簡略化して、前記複数の検索論理式に対応する複数の仮論理式を生成する簡略化部、前記検索部の検索結果に応じて前記仮論理式について論理評価を行う第1の評価部、および前記第1の評価部において第1評価値と評価された仮論理式に対応する検索論理式について論理評価を行う第2の評価部、
として機能させるための情報検索プログラム。 Computer
An extraction unit that extracts search elements from a plurality of search logical expressions, a search unit that performs database search for the search elements, and a plurality of temporary logics corresponding to the plurality of search logical expressions by simplifying each of the plurality of search logical expressions A simplification unit that generates an expression, a first evaluation unit that performs a logical evaluation on the temporary logical expression according to a search result of the search unit, and a temporary logic that is evaluated as a first evaluation value in the first evaluation unit A second evaluator that performs a logical evaluation on the search logical expression corresponding to the expression;
Information retrieval program to function as
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007069584A JP4881196B2 (en) | 2007-03-16 | 2007-03-16 | Information retrieval apparatus and information retrieval program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007069584A JP4881196B2 (en) | 2007-03-16 | 2007-03-16 | Information retrieval apparatus and information retrieval program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008234068A JP2008234068A (en) | 2008-10-02 |
| JP4881196B2 true JP4881196B2 (en) | 2012-02-22 |
Family
ID=39906798
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007069584A Expired - Fee Related JP4881196B2 (en) | 2007-03-16 | 2007-03-16 | Information retrieval apparatus and information retrieval program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4881196B2 (en) |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01149125A (en) * | 1987-12-05 | 1989-06-12 | Nippon Telegr & Teleph Corp <Ntt> | Information retrieving device |
| JP3413866B2 (en) * | 1992-03-19 | 2003-06-09 | 株式会社日立製作所 | Information retrieval device |
| JPH06215044A (en) * | 1993-01-20 | 1994-08-05 | Fujitsu Ltd | Information retrieval processor |
| JP2990000B2 (en) * | 1993-09-01 | 1999-12-13 | 北海道日本電気ソフトウェア株式会社 | Search system |
| JP4153989B2 (en) * | 1996-07-11 | 2008-09-24 | 株式会社日立製作所 | Document retrieval and delivery method and apparatus |
| JPH11102312A (en) * | 1997-09-25 | 1999-04-13 | Matsushita Denso System Kk | Data base processor |
-
2007
- 2007-03-16 JP JP2007069584A patent/JP4881196B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2008234068A (en) | 2008-10-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11604782B2 (en) | Systems and methods for scheduling concurrent summarization of indexed data | |
| CN107391653B (en) | Distributed NewSQL database system and picture data storage method | |
| US11074560B2 (en) | Tracking processed machine data | |
| US8914720B2 (en) | Method and system for constructing a document redundancy graph | |
| CN102272714B (en) | Pattern-recognition processor with matching-data reporting module | |
| CN106155718B (en) | Process engine implementation method and process engine system | |
| JP5558997B2 (en) | Method, information processing system, and computer program for mutual search and alert (mutual search and alert between structured and unstructured data sources) | |
| JP2006107436A5 (en) | ||
| CN101211365A (en) | Method and system for building a search index | |
| CN112970011A (en) | Recording pedigrees in query optimization | |
| CN112486988B (en) | Data processing method, device, equipment and storage medium | |
| JP2012053716A (en) | Method for creating thinking model, device for creating thinking model and program for creating thinking model | |
| US20220309290A1 (en) | Amplification of initial training data | |
| CN104572917A (en) | Method and device for locking data and distributed storage system | |
| JP5686893B2 (en) | Database management system, apparatus and method | |
| CN117851538A (en) | Distributed retrieval method, system, equipment and medium | |
| CN107590077B (en) | A Spark load memory access behavior tracking method and device | |
| US11790087B2 (en) | Method and apparatus to identify hardware performance counter events for detecting and classifying malware or workload using artificial intelligence | |
| CN111581440A (en) | Hardware acceleration B + tree operation device and method thereof | |
| JP4881196B2 (en) | Information retrieval apparatus and information retrieval program | |
| JP2019148859A (en) | Device and method supporting discovery of design pattern in model development environment using flow diagram | |
| JP5108252B2 (en) | Index updating method and system | |
| US20150006578A1 (en) | Dynamic search system | |
| CN115146736A (en) | An AI model data storage management method and storage medium based on metadata | |
| CN110750569A (en) | Data extraction method, device, equipment and storage medium |
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 |