JP2009048352A - Information retrieval device, information retrieval method and information retrieval program - Google Patents
Information retrieval device, information retrieval method and information retrieval program Download PDFInfo
- Publication number
- JP2009048352A JP2009048352A JP2007212670A JP2007212670A JP2009048352A JP 2009048352 A JP2009048352 A JP 2009048352A JP 2007212670 A JP2007212670 A JP 2007212670A JP 2007212670 A JP2007212670 A JP 2007212670A JP 2009048352 A JP2009048352 A JP 2009048352A
- Authority
- JP
- Japan
- Prior art keywords
- bitmap
- search
- information
- index
- bitmap table
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、多数のドキュメントファイル等の大量の検索対象情報から、検索対象情報に含まれる語や検索対象情報の属性情報を検索条件として、利用者の所望する検索対象情報を検索する情報検索装置、情報検索方法および情報検索プログラムに関する。 The present invention relates to an information search device for searching for search target information desired by a user from a large amount of search target information such as a large number of document files, using a word included in the search target information and attribute information of the search target information as search conditions The present invention relates to an information search method and an information search program.
従来、例えば、多数のドキュメントファイル等の大量の検索対象情報(テキスト情報)から、検索条件の情報として、「検索対象情報に含まれる語」や「検索対象情報の属性情報」を用いて、検索対象情報を検索する方法として以下の2通りの方法が知られている(例えば、非特許文献1および非特許文献2参照)。なお、検索対象情報の属性情報とは、例えば、検索対象情報がドキュメントファイルであれば、ファイル作成日時、作成者、構成文字数、閲覧可否情報、有効期限等を指す。
Conventionally, for example, from a large amount of search target information (text information) such as a large number of document files, search using “words included in search target information” or “attribute information of search target information” as search condition information The following two methods are known as methods for retrieving target information (for example, see Non-Patent
従来の第1の検索方法は、非特許文献1に開示された方法に関連して、複数の検索条件(検索対象情報に含まれる語や検索対象情報の属性情報)を個々の検索条件に切り離して、大量の検索対象情報に対して、切り離した各々の検索条件を独立に用いて検索処理を行い、検索条件毎に一次的な検索結果セットを獲得するものである。具体的には、従来の情報検索装置に、検索条件として、例えば、「検索対象に含まれる語」と、「検索対象情報の1つの属性情報」とが入力された場合に、情報検索装置は、まず、第1段階として、入力された「検索対象に含まれる語」を含むすべての検索対象情報を、大量の検索対象情報の中から検索し、一次的な検索結果である複数の検索対象情報を検索結果セットとして作成、保持する。次に、第2段階として、情報検索装置は、一次的な検索結果セットに含まれる1つ1つの検索対象情報について、検索条件として入力された「検索対象情報の1つの属性情報」を満たすテキスト情報を抽出して、最終的な検索結果として利用者に提示する。これにより、利用者は、入力した「検索対象に含まれる語」と、「検索対象情報の1つの属性情報」に応じた所望のテキスト情報を取得することができる。
In the first conventional search method, a plurality of search conditions (words included in the search target information and attribute information of the search target information) are separated into individual search conditions in relation to the method disclosed in
また、従来の第2の検索方法は、非特許文献1および非特許文献2に開示された方法に関連して、大量の検索対象情報について、問い合わせの可能性がある全ての検索条件に対応して予め作成されたビットマップインデックスを用意しておくものである。この方法では、情報検索装置に複数の検索条件が入力された場合に、予め作成されたビットマップインデックスに基づいて各検索条件に対応したビットマップ列間の論理積をとり、論理積結果のビットの立った箇所に対応する情報を、利用者の欲する情報として提示する。
しかしながら、従来の第1の検索方法では、入力された複数の検索条件を、個別の検索条件に切り離して、入力された複数の検索条件のうちの1つのだけを用いて、他の検索条件を用いずに、一次的な検索結果セットを獲得する。そのため、この検索結果セットに含まれる検索対象が大量となってしまう可能性がある。この場合に、検索結果セットを保管するため大量のリソース(主としてメモリまたはディスク)が消費されることとなる。また、従来の第1の検索方法は、個別の検索条件に切り離された1つ1つの検索条件に対応した一次的な検索結果セットを獲得する個別の段階と、利用者に提示する最終的な検索結果を求める段階とを有するため、検索処理に時間がかかるという問題がある。 However, in the first conventional search method, a plurality of input search conditions are separated into individual search conditions, and only one of the plurality of input search conditions is used, and other search conditions are set. Acquire a primary search result set without using it. Therefore, there is a possibility that the number of search targets included in this search result set will be large. In this case, a large amount of resources (mainly memory or disk) are consumed to store the search result set. In addition, the first conventional search method includes an individual stage for acquiring a primary search result set corresponding to each search condition separated into individual search conditions, and a final presentation to the user. There is a problem that it takes time for the search process.
また、従来の第2の検索方法では、大量の検索対象情報として、例えば1000万以上のドキュメントファイルを扱うような場合に、問い合わせの可能性がある全ての検索条件に対応したビットマップインデックスのサイズが巨大になってしまい、その保持のために、多くのリソース(主としてメモリまたはディスク)を必要とする。さらに、ビットワイズ演算時には、巨大なサイズのビットマップインデックスを基準とした巨大なビット列を扱わねばならず、多くのリソース(主としてCPUキャッシュとメモリ)を消費することとなり、演算性能も劣化してしまうという問題がある。 In the second conventional search method, the size of the bitmap index corresponding to all search conditions that may be inquired when dealing with, for example, 10 million or more document files as a large amount of search target information. Becomes huge and requires a lot of resources (mainly memory or disk) to maintain it. Furthermore, when performing bitwise calculations, a huge bit string based on a bitmap index of a huge size must be handled, which consumes a lot of resources (mainly CPU cache and memory) and degrades the calculation performance. There is a problem.
そこで、本発明では、前記した問題を解決し、大量のリソースを消費することなく、検索処理を高速に実行することのできる情報検索装置、情報検索方法および情報検索プログラムを提供することを目的とする。 Accordingly, an object of the present invention is to provide an information search apparatus, an information search method, and an information search program capable of solving the above-described problems and performing search processing at high speed without consuming a large amount of resources. To do.
前記課題を解決するため、請求項1に記載の情報検索装置は、利用者によって入力された検索条件に基づいて、複数の検索対象情報の中から、前記入力された検索条件に対応した検索対象情報を、前記利用者の所望する検索対象情報として検索する情報検索装置であって、前記検索条件として、前記利用者の所望する検索対象情報についての予め定められた複数の検索条件を獲得する検索条件獲得手段と、予め作成されたビットマップ表に格納された所定のビットデータを縮退または圧縮する処理を施して加工した複数のビットマップ表を多段状に順次積み上げて構成したインデックスの中から、前記検索条件獲得手段で獲得された複数の検索条件に基づいて、データの包含関係が最大のものから最小のものまで順にビットマップ表を獲得するインデックス獲得手段と、前記インデックス獲得手段で獲得されたビットマップ表に格納された所定のデータが圧縮されている場合に前記圧縮されているデータを解凍したビットマップ表を生成する解凍手段と、前記インデックス獲得手段で獲得され、所定のデータが圧縮されている場合には前記圧縮されているデータが解凍された、ビットマップ表において、前記データの包含関係が最大のものから最小のものまで順に、前記ビットマップ表の中から、前記検索条件獲得手段で獲得された複数の検索条件に対応した複数のビットマップ列を抽出し、前記抽出した複数のビットマップ列のそれぞれ対応する位置に割り当てられたビットについて、ビットワイズ演算を行うことでビットマップを算出するビットマップ算出手段と、前記データの包含関係が最小のビットマップ表について算出されたビットマップに対応する情報として、前記複数の検索対象情報の中から、前記最小のビットマップ表について算出されたビットマップにおいて前記一方のビットが割り当てられたビット位置に対応する検索対象情報を抽出するビットマップ対応情報抽出手段とを備え、前記予め作成されたビットマップ表が、前記複数の検索対象情報の識別情報と、前記予め定められた複数の検索条件とが2値のいずれか一方のビットに対応付けられており、前記インデックスが、前記処理前のビットマップ表に格納された所定のデータが前記処理後のビットマップ表に包含されるように階層的に形成されていることを特徴とする。
In order to solve the above problem, the information search device according to
かかる構成によれば、情報検索装置は、予め作成されたビットマップ表を元として階層的に形成された複数のビットマップ表を積み上げて多段状に構成されたインデックスの中から、検索条件に対応した複数のビットマップ表を上位階層から順次獲得する。ここで、ビットマップ表において、複数の検索対象情報の識別情報と対応付けられた予め定められた複数の検索条件は、例えば、所望の検索対象情報に含まれて入力される検索条件となりうる語や、所望の検索対象情報の属性情報である。そして、情報検索装置は、獲得した複数のビットマップ表に圧縮データがあれば解凍してから、複数のビットマップ表を上位階層から順次処理対象として、対象とするビットマップ表の中から、検索条件に対応した複数のビットマップ列を抽出して、ビットワイズ演算を行うことでビットマップを算出する。この順次処理の過程で算出されたビットマップにおいて、ビットが立てられた位置を指標として、次に処理すべき下層の階層のビットマップから計算に必要なデータを抽出することができる。そして、最終的には、最下層のビットマップ表から算出したビットマップにおいて、ビットが立てられた位置に対応する検索対象情報の識別情報が利用者に提示すべき検索対象情報として抽出される。したがって、検索処理装置は、利用者から入力された検索条件に対応した検索結果情報として、この抽出された検索対象情報を出力することができる。 According to such a configuration, the information search apparatus supports a search condition from an index configured by stacking a plurality of bitmap tables formed hierarchically based on a bitmap table created in advance and configured in a multistage manner. A plurality of bitmap tables are obtained sequentially from the upper layer. Here, in the bitmap table, the plurality of predetermined search conditions associated with the identification information of the plurality of search target information are, for example, words that can be input as search conditions included in the desired search target information. Or attribute information of desired search target information. Then, the information retrieval apparatus decompresses the compressed data in the acquired plurality of bitmap tables if there is compressed data, and sequentially searches the plurality of bitmap tables from the target bitmap table as processing targets from the upper layer. A bitmap is calculated by extracting a plurality of bitmap sequences corresponding to the conditions and performing a bitwise operation. In the bit map calculated in the process of this sequential processing, data necessary for calculation can be extracted from the bit map of the lower layer to be processed using the position where the bit is set as an index. Finally, the identification information of the search target information corresponding to the position where the bit is set is extracted as the search target information to be presented to the user in the bitmap calculated from the lowest bit map. Therefore, the search processing apparatus can output the extracted search target information as search result information corresponding to the search condition input by the user.
これにより、情報検索装置は、大量の検索対象情報について問い合わせの可能性がある全ての検索条件に対応したビットマップインデックスを予め用意する必要がないので、従来に比べて大量のリソース(CPUキャッシュ、メモリ、ディスク)を消費することがない。また、情報検索装置は、複数の検索条件を、個別に切り離して処理するのではなく、まとめて扱うことを可能にし、検索候補の絞込みを高速に実施することができる。したがって、従来の装置に比べてリソース(ディスク、メモリ、CPU)の消費を低減し、かつ、検索処理を高速に実行することができる。 As a result, the information search apparatus does not need to prepare in advance a bitmap index corresponding to all search conditions that may be inquired about a large amount of search target information. Memory and disk) are not consumed. In addition, the information search apparatus can handle a plurality of search conditions at once rather than separately processing them, and can narrow down search candidates at high speed. Therefore, it is possible to reduce the consumption of resources (disk, memory, CPU) as compared with the conventional apparatus and to execute the search process at high speed.
また、請求項2に記載の情報検索装置は、請求項1に記載の情報検索装置において、前記インデックスが、前記複数の検索対象情報を複数のグループに分けたときに前記グループを単位として、前記予め作成されたビットマップ表に格納された所定のデータを縮退または圧縮する処理を順次施して多段状に構成されたものであり、前記インデックスの各段を示すビットマップ表が、ビットワイズ演算によるジョイン処理が可能であることを特徴とする。
Further, the information search device according to
かかる構成によれば、情報検索装置は、インデックス中で検索対象情報のグループ毎にビットが割当てられたビットマップ表に基づいて複数のビットマップ列を獲得する。これによれば、情報検索装置は、処理対象とするビットマップ表から、入力された検索条件に応じた検索対象情報のグループに関するビットマップ列のみを検索することとなる。ここで、検索対象情報のグループは、階層的に設けることができる。 According to this configuration, the information search apparatus acquires a plurality of bitmap sequences based on a bitmap table in which bits are assigned to each group of search target information in the index. According to this, the information search apparatus searches only the bitmap string related to the group of search target information corresponding to the input search condition from the bitmap table to be processed. Here, the group of search target information can be provided hierarchically.
また、各段においてビットワイズ演算によるジョイン処理を可能にしたインデックスを用いるため、以下の効果を奏する。まず、インデックスにおける各段において圧縮データがある場合に必要部分のみを部分解凍すればよいため、高速な検索が可能となる。また、検索処理中において、中間データサイズを小さくすることができる。さらに、1回の計算におけるビットマップサイズを小さくすることができ、その結果、CPUキャッシュの効率的利用が可能となる。したがって、かかる構成の情報検索装置は、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。 In addition, since an index that enables join processing by bitwise calculation is used in each stage, the following effects can be obtained. First, when there is compressed data at each stage in the index, only a necessary part needs to be partially decompressed, so that high-speed search is possible. Further, the intermediate data size can be reduced during the search process. Furthermore, the bitmap size in one calculation can be reduced, and as a result, the CPU cache can be used efficiently. Therefore, the information search apparatus having such a configuration can reduce resource consumption and execute the search process at a higher speed than the conventional apparatus.
また、請求項3に記載の情報検索装置は、請求項1に記載の情報検索装置において、前記インデックスが、前記複数の検索対象情報を内容の類似度に基づいて複数のグループに分けたときに前記グループを単位として、前記予め作成されたビットマップ表に格納された所定のデータを縮退または圧縮する処理を順次施して多段状に構成されたものであり、前記インデックスの各段を示すビットマップ表が、ビットワイズ演算によるジョイン処理が可能であることを特徴とする。
The information search device according to
かかる構成によれば、情報検索装置は、インデックス中で検索対象情報について内容が類似したグループ毎にビットが割当てられたビットマップ表に基づいて複数のビットマップ列を獲得する。ここで、検索対象情報について内容が類似したグループは、階層的に設けることができる。また、類似度は、検索対象情報に応じて適宜定めることができる。例えば、検索対象情報がドキュメントであれば、ドキュメントのタイトルやジャンルで定めてもよいし、ドキュメントに含まれるキーワードやその個数で定めてもよい。また、かかる構成の情報検索装置によれば、検索対象情報について内容が類似したグループに分けることで、以下の作用効果を奏する。すなわち、インデックス中においてビットの立つ箇所が密集するので、圧縮効率が向上する。また、縮退後にビットの立つ箇所の数が削減される。その結果、ビットマップ演算結果における、ビットの立つ箇所の数が削減されるそのため、リソース(メモリ、ディスク)の消費を抑えることができる。 According to this configuration, the information search apparatus acquires a plurality of bitmap sequences based on a bitmap table in which bits are assigned to each group whose contents are similar with respect to search target information in the index. Here, groups similar in content to search target information can be provided hierarchically. The similarity can be determined as appropriate according to the search target information. For example, if the search target information is a document, it may be determined by the title and genre of the document, or may be determined by the keyword included in the document and the number of keywords. Moreover, according to the information search device having such a configuration, the search target information is divided into groups having similar contents, and the following effects are obtained. That is, since the places where the bits stand in the index are dense, the compression efficiency is improved. In addition, the number of places where the bit stands after degeneration is reduced. As a result, the number of bits standing in the bitmap operation result is reduced, so that consumption of resources (memory, disk) can be suppressed.
また、請求項4に記載の情報検索装置は、請求項1ないし請求項3のいずれか一項に記載の情報検索装置において、前記インデックスが、前記予め定められた複数の検索条件を複数のグループに分けたときに前記グループを単位として、前記予め作成されたビットマップ表に格納された所定のデータを縮退または圧縮する処理を順次施して多段状に構成されたものであり、前記インデックスの各段を示すビットマップ表が、ビットワイズ演算によるジョイン処理が可能であることを特徴とする。
The information search device according to
かかる構成によれば、情報検索装置は、インデックス中で検索条件のグループ毎にビットが割当てられたビットマップ表に基づいて複数のビットマップ列を獲得する。ここで、検索条件のグループは、階層的に設けることができる。これによれば、情報検索装置は、処理対象とするビットマップ表から、入力された検索条件に応じて、ビットマップ表中の検索条件のグループに関するビットマップ列のみを検索することとなる。したがって、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。 According to this configuration, the information search apparatus acquires a plurality of bitmap sequences based on a bitmap table in which bits are assigned to each group of search conditions in the index. Here, groups of search conditions can be provided hierarchically. According to this, the information retrieval apparatus retrieves only the bitmap string related to the group of retrieval conditions in the bitmap table from the bitmap table to be processed according to the inputted retrieval condition. Therefore, it is possible to reduce resource consumption and execute the search process at a higher speed than the conventional apparatus.
また、請求項5に記載の情報検索装置は、請求項1ないし請求項3のいずれか一項に記載の情報検索装置において、前記インデックスが、前記予め定められた複数の検索条件を内容の類似度に基づいて複数のグループに分けたときに前記グループを単位として、前記予め作成されたビットマップ表に格納された所定のデータを縮退または圧縮する処理を順次施して多段状に構成されたものであり、前記インデックスの各段を示すビットマップ表が、ビットワイズ演算によるジョイン処理が可能であることを特徴とする。
Further, the information search device according to
かかる構成によれば、情報検索装置は、インデックス中で検索条件について内容が類似したグループ毎にビットが割当てられたビットマップ表に基づいて複数のビットマップ列を獲得する。ここで、検索条件について内容が類似したグループは、階層的に設けることができる。また、類似度は、検索条件に応じて適宜定めることができる。例えば、検索条件がドキュメントに含まれるキーワードであれば、そのキーワードが食べ物に関するものか場所に関するものかという上位概念の分類で定めてもよい。また、検索条件がドキュメントの作成日時であれば年月日で定めてもよい。また、かかる構成の情報検索装置によれば、インデックス中の検索条件について内容が類似したグループに分けることで、以下の作用効果を奏する。すなわち、インデックス中においてビットの立つ箇所が密集するので、圧縮効率が向上する。また、縮退後にビットの立つ箇所の数が削減される。その結果、ビットマップ演算結果における、ビットの立つ箇所の数が削減されるため、リソース(メモリ、ディスク)の消費を抑えることができる。 According to such a configuration, the information search apparatus acquires a plurality of bitmap sequences based on a bitmap table in which bits are assigned to each group whose contents are similar with respect to search conditions in the index. Here, groups similar in content to the search conditions can be provided hierarchically. The similarity can be determined as appropriate according to the search condition. For example, if the search condition is a keyword included in a document, it may be determined by a higher-level concept classification of whether the keyword is related to food or location. If the search condition is the document creation date and time, the date may be determined. Moreover, according to the information search device having such a configuration, the following operational effects can be obtained by dividing the search conditions in the index into groups having similar contents. That is, since the places where the bits stand in the index are dense, the compression efficiency is improved. In addition, the number of places where the bit stands after degeneration is reduced. As a result, the number of bit-settled portions in the bitmap operation result is reduced, so that consumption of resources (memory, disk) can be suppressed.
また、請求項6に記載の情報検索装置は、請求項1ないし請求項5のいずれか一項に記載の情報検索装置において、前記インデックスにおいて前記予め定められた複数の検索条件が、所定の連続値を区切って構成される複数の区間であって、前記複数の検索対象情報に関連する情報をそれぞれ数値化した情報が、前記複数の区間のいずれかに含まれ、前記インデックスが、前記区間を単位として、前記予め作成されたビットマップ表に格納された所定のデータを縮退または圧縮する処理を順次施して多段状に構成されたものであることを特徴とする。
The information search device according to
かかる構成によれば、情報検索装置は、インデックス中で区間毎にビットが割当てられたビットマップ表に基づいて複数のビットマップ列を獲得する。ここで、検索対象情報に関連する情報をそれぞれ数値化した情報としては、例えば、検索対象情報の価格、文字数やページ数等である。これによれば、情報検索装置は、処理対象とするビットマップ表から、入力された検索条件としての検索対象情報に関連する情報をそれぞれ数値化した情報(例えば価格)に応じて、該当する区間に関するビットマップ列のみを検索することとなる。したがって、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。 According to such a configuration, the information search device acquires a plurality of bitmap sequences based on a bitmap table in which bits are assigned for each section in the index. Here, the information obtained by digitizing the information related to the search target information is, for example, the price, the number of characters, the number of pages, etc. of the search target information. According to this, the information search device corresponds to the section corresponding to the information (for example, price) obtained by digitizing information related to the search target information as the input search condition from the bitmap table to be processed. Only the bitmap sequence related to is searched. Therefore, it is possible to reduce resource consumption and execute the search process at a higher speed than the conventional apparatus.
また、前記課題を解決するため、請求項7に記載の情報検索方法は、利用者によって入力された検索条件に基づいて、複数の検索対象情報の中から、前記入力された検索条件に対応した検索対象情報を、前記利用者の所望する検索対象情報として検索する情報検索装置の情報検索方法であって、前記情報検索装置が、前記検索条件として、前記利用者の所望する検索対象情報についての予め定められた複数の検索条件を獲得する検索条件獲得ステップと、予め作成されたビットマップ表に格納された所定のビットデータを縮退または圧縮する処理を施して加工した複数のビットマップ表を多段状に順次積み上げて構成したインデックスの中から、前記検索条件獲得ステップで獲得された複数の検索条件に基づいて、データの包含関係が最大のものから最小のものまで順にビットマップ表を獲得するインデックス獲得ステップと、前記インデックス獲得ステップで獲得されたビットマップ表に格納された所定のデータが圧縮されている場合に前記圧縮されているデータを解凍したビットマップ表を生成する解凍ステップと、前記インデックス獲得ステップで獲得され、所定のデータが圧縮されている場合には前記圧縮されているデータが解凍された、ビットマップ表において、前記データの包含関係が最大のものから最小のものまで順に、前記ビットマップ表の中から、前記検索条件獲得ステップで獲得された複数の検索条件に対応した複数のビットマップ列を抽出し、前記抽出した複数のビットマップ列のそれぞれ対応する位置に割り当てられたビットについて、ビットワイズ演算を行うことでビットマップを算出するビットマップ算出ステップと、前記データの包含関係が最小のビットマップ表について算出されたビットマップに対応する情報として、前記複数の検索対象情報の中から、前記最小のビットマップ表について算出されたビットマップにおいて前記一方のビットが割り当てられたビット位置に対応する検索対象情報を抽出するビットマップ対応情報抽出ステップとを実行し、前記予め作成されたビットマップ表が、前記複数の検索対象情報の識別情報と、前記予め定められた複数の検索条件とが2値のいずれか一方のビットに対応付けられており、前記インデックスが、前記処理前のビットマップ表に格納された所定のデータが前記処理後のビットマップ表に包含されるように階層的に形成されていることを特徴とする。
Moreover, in order to solve the said subject, the information search method of
かかる手順によれば、情報検索装置は、予め作成されたビットマップ表を元として階層的に形成された複数のビットマップ表を積み上げて多段状に構成されたインデックスの中から、検索条件に対応した複数のビットマップ表を上位階層から順次獲得する。そして、情報検索装置は、獲得した複数のビットマップ表に圧縮データがあれば解凍してから、複数のビットマップ表を上位階層から順次処理対象として、対象とするビットマップ表の中から、検索条件に対応した複数のビットマップ列を抽出して、ビットワイズ演算を行うことでビットマップを算出する。そして、検索処理装置は、最終的には、最下層のビットマップ表から算出したビットマップにおいて、ビットが立てられた位置に対応する検索対象情報の識別情報を、利用者に提示すべき検索対象情報として抽出する。 According to such a procedure, the information search apparatus can cope with a search condition from an index configured by stacking a plurality of bitmap tables formed hierarchically based on a bitmap table created in advance. A plurality of bitmap tables are obtained sequentially from the upper layer. Then, the information retrieval apparatus decompresses the compressed data in the acquired plurality of bitmap tables if there is compressed data, and sequentially searches the plurality of bitmap tables from the target bitmap table as processing targets from the upper layer. A bitmap is calculated by extracting a plurality of bitmap sequences corresponding to the conditions and performing a bitwise operation. Then, the search processing apparatus finally searches the user for the identification information of the search target information corresponding to the position where the bit is set in the bitmap calculated from the lowest bit map. Extract as information.
また、請求項8に記載の情報検索方法は、請求項7に記載の情報検索方法において、前記インデックスが、前記複数の検索対象情報を内容の類似度に基づいて複数のグループに分けたときに前記グループを単位として、前記予め作成されたビットマップ表に格納された所定のデータを縮退または圧縮する処理を順次施して多段状に構成されたものであり、前記インデックスの各段を示すビットマップ表が、ビットワイズ演算によるジョイン処理が可能であることを特徴とする。
An information search method according to
かかる手順によれば、情報検索装置は、インデックス中で検索対象情報について内容が類似したグループ毎にビットが割当てられたビットマップ表に基づいて複数のビットマップ列を獲得する。ここで、類似度は、検索対象情報に応じて適宜定めることができる。 According to this procedure, the information search apparatus acquires a plurality of bitmap sequences based on a bitmap table in which bits are assigned to each group whose contents are similar with respect to search target information in the index. Here, the similarity can be appropriately determined according to the search target information.
また、請求項9に記載の情報検索方法は、請求項7または請求項8に記載の情報検索方法において、前記インデックスが、前記予め定められた複数の検索条件を内容の類似度に基づいて複数のグループに分けたときに前記グループを単位として、前記予め作成されたビットマップ表に格納された所定のデータを縮退または圧縮する処理を順次施して多段状に構成されたものであり、前記インデックスの各段を示すビットマップ表が、ビットワイズ演算によるジョイン処理が可能であることを特徴とする。
An information search method according to
かかる手順によれば、情報検索装置は、インデックス中で検索条件について内容が類似したグループ毎にビットが割当てられたビットマップ表に基づいて複数のビットマップ列を獲得する。ここで、類似度は、検索条件に応じて適宜定めることができる。 According to such a procedure, the information search device acquires a plurality of bitmap sequences based on a bitmap table in which bits are assigned to each group whose contents are similar with respect to search conditions in the index. Here, the similarity can be appropriately determined according to the search condition.
また、請求項10に記載の情報検索プログラムは、請求項1ないし請求項6のいずれか一項に記載の情報検索装置の機能をコンピュータで実現するための情報検索プログラムとした。このように構成されることにより、このプログラムをインストールされたコンピュータは、このプログラムに基づいた各機能を実現することができる。
The information search program according to
本発明によれば、大量の検索対象情報について問い合わせの可能性がある全ての検索条件に対応したビットマップインデックスを予め用意する必要がなく、また、複数の検索条件を個別に切り離すことなくまとめて処理するので、大量のリソースを消費することなく、検索処理を高速に実行することができる。 According to the present invention, it is not necessary to prepare in advance a bitmap index corresponding to all search conditions that may be inquired about a large amount of search target information, and a plurality of search conditions can be collected together without being separated individually. Since processing is performed, search processing can be executed at high speed without consuming a large amount of resources.
以下、図面を参照して本発明の情報検索装置および情報検索方法を実施するための最良の形態(以下「実施形態」という)について詳細に説明する。 The best mode for carrying out an information search apparatus and information search method of the present invention (hereinafter referred to as “embodiment”) will be described in detail below with reference to the drawings.
[情報検索装置の構成]
図1は、本発明の実施形態に係る情報検索装置を模式的に示す構成図である。情報検索装置1は、利用者によって入力された検索条件に基づいて、複数の検索対象情報の中から、入力された検索条件に対応した検索対象情報を、利用者の所望する検索対象情報として検索するものである。情報検索装置1は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、入出力インタフェース等から構成される。この情報検索装置1は、図1に示すように、入力手段2と、記憶手段3と、制御手段4と、出力手段5とを備えている。
[Configuration of information retrieval device]
FIG. 1 is a configuration diagram schematically showing an information search apparatus according to an embodiment of the present invention. The
<入力手段>
入力手段2は、所定の通信インタフェースや入力インタフェースから構成される。この入力手段2は、例えば、インターネット等の通信ネットワークを介して受信した利用者の検索条件を制御手段4に入力するものである。なお、入力手段2は、利用者の使用する情報検索装置1にケーブルで接続されたマウスやキーボード等の入力装置Mから入力される検索条件を制御手段4に入力することも可能である。
<Input means>
The
<記憶手段>
記憶手段3は、所定のプログラム等を格納するROMと、制御手段4による演算処理等に利用されるRAMと、HDDとを備えている。この記憶手段3は、図1に示すように、インデックス格納部6と、情報格納部7と、プログラム格納部8とを備えている。
<Storage means>
The
≪インデックス格納部≫
インデックス格納部6は、予め作成されたインデックスを格納するものであり、例えば、一般的なHDD等から構成される。インデックスは、複数の検索対象情報の識別情報と、予め定められた複数の検索条件とが2値のいずれか一方のビット(1か0)に対応付けられて予め作成されたビットマップ表から予め作成されたものである。このインデックスは、予め作成されたビットマップ表に格納された所定のビットデータを縮退または圧縮する処理を施して加工した複数のビットマップ表を多段状に順次積み上げて構成したものである。そして、インデックスは、縮退または圧縮による処理前のビットマップ表に格納された所定のデータが処理後のビットマップ表に包含されるように階層的に形成されている。なお、本実施形態では、インデックスは、予め定められた複数の検索条件等が「1」のビットに対応付けられている。また、多段状の構成とは、上段のビットマップ表のビットの立った箇所から、下段の対応するビットマップ、または、ビットマップを圧縮したデータヘアクセスする方法を提供可能な構成である。
≪Index storage section≫
The
本実施形態では、ビットマップ表は、複数のドキュメント(検索対象情報)のうちの各ドキュメントに含まれる語やドキュメント自身の属性情報が「1」のビットに対応付けられているものとする。また、本実施形態では、インデックスは、複数の検索対象情報を複数のグループに分けたときにそのグループを単位とし、かつ、予め定められた複数の検索条件を複数のグループに分けたときにそのグループを単位として、予め作成されたビットマップ表に格納された所定のデータを縮退または圧縮する処理を順次施して多段状に構成されたものであり、インデックスの各段を示すビットマップ表は、ビットワイズ演算によるジョイン処理が可能であるものとする。ここで、各グループは、内容が類似しているものから構成されることが好ましい。なお、インデックスは、複数の検索対象情報と予め定められた複数の検索条件とのうちの一方だけ複数のグループに分けてもよいし、グループ分けをしなくても構わない。 In the present embodiment, it is assumed that in the bitmap table, a word included in each document of a plurality of documents (search target information) and attribute information of the document itself are associated with a bit of “1”. Further, in this embodiment, the index is obtained when a plurality of search target information is divided into a plurality of groups, and the group is used as a unit, and a plurality of predetermined search conditions are divided into a plurality of groups. Each group is configured in multiple stages by sequentially performing a process of reducing or compressing predetermined data stored in a bitmap table created in advance, and the bitmap table indicating each stage of the index is: Assume that join processing by bitwise calculation is possible. Here, it is preferable that each group is composed of similar contents. The index may be divided into a plurality of groups or only one of a plurality of search target information and a plurality of predetermined search conditions, or may not be grouped.
ここで、インデックスを構築する方法の一例について図2ないし図7を参照(適宜図1参照)して説明する。図2は、インデックスを構築する方法の一例を示すフローチャートである。この方法は、例えば、インデックスを構築するためのプログラムを格納された図示しない所定の情報処理装置が実行するものである。なお、情報検索装置1がこのプログラムをさらに実行することで同等の機能を果たしてもよい。
Here, an example of a method for constructing an index will be described with reference to FIGS. 2 to 7 (refer to FIG. 1 as appropriate). FIG. 2 is a flowchart illustrating an example of a method for constructing an index. This method is executed, for example, by a predetermined information processing apparatus (not shown) that stores a program for constructing an index. The
まず、この情報処理装置は、情報検索装置1の情報格納部7(図1参照)に格納される全ての情報(ドキュメント)と、入力されうる全ての検索条件(ドキュメントに含まれる語や属性情報)とを対応づけた巨大なビットマップ表を作成する(ステップS1)。この巨大なビットマップ表の一例を図3に示す。図3は、インデックスを構築する元となるビットマップ表の一例を示す図である。図3に示したビットマップ表30は、「ドキュメントに含まれる語」として、「遠足」、「卵焼き」等を含んでいる。また、ビットマップ表30は、「ドキュメント自身の属性情報」として、「有効期限」、「閲覧可否」等を含んでいる。図3において、「1」のビットが立っている箇所は、該当するドキュメントが、その検索条件を満たすことを示す。図3から、例えば、「登山へ行こう」というタイトルのドキュメントは、「東京」、「テント」、「ランプ」という語をドキュメント中に含むと共に、「有効期限内ではない」ものであり、「閲覧を許可されていない」ものであることが分かる。
First, the information processing apparatus includes all information (document) stored in the information storage unit 7 (see FIG. 1) of the
図2のフローチャートにおいて、ステップS1に続いて、情報処理装置は、情報格納部7(図1参照)に格納される全ての情報(ドキュメント)について、内容的に類似したグループに分け(ステップS2)、入力されうる全ての検索条件について、内容的に類似したグループに分ける(ステップS3)。内容が類似したグループに分けて並べ替えた(改変した)ビットマップ表の一例を図4に示す。図4は、図3に示したビットマップ表をグルーピングにより改変したビットマップ表の一例を示す図である。図4に示す改変ビットマップ表40は、検索条件の類似グループ41として、「アウトドア」、「食べ物」等を含んでいる。また、改変ビットマップ表40は、ドキュメントの類似グループ42として、「旅行」、「レシピ」等を含んでいる。さらに、改変ビットマップ表40では、ドキュメントを識別するために、全てのドキュメントにユニークな識別情報(Doc id)を付与した。この改変ビットマップ表40は、図3に示したビットマップ表30と比較すると、「1」のビットの立った箇所が、部分的に密集していることが分かる。
In the flowchart of FIG. 2, following step S1, the information processing apparatus divides all information (documents) stored in the information storage unit 7 (see FIG. 1) into groups that are similar in content (step S2). All search conditions that can be input are divided into groups similar in content (step S3). FIG. 4 shows an example of a bitmap table rearranged (modified) into groups with similar contents. FIG. 4 is a diagram showing an example of a bitmap table obtained by modifying the bitmap table shown in FIG. 3 by grouping. The modified bitmap table 40 illustrated in FIG. 4 includes “outdoor”, “food”, and the like as the
図2のフローチャートにおいて、ステップS3に続いて、情報処理装置は、改変ビットマップ表をドキュメントおよび検索条件の各グループ単位で縮退または圧縮する(ステップS4)。改変ビットマップ表を縮退したビットマップ表の一例を図5に示す。図5は、図4に示した改変ビットマップ表を縮退したビットマップ表の一例を示す図である。図5に示す縮退ビットマップ表50において「1」のビットは、図4に示した改変ビットマップ表40の対応する部分内で、1箇所でも「1」のビットが立っていたならば、「1」のビットを立てるという縮退ルールを適用したものである。つまり、図4に示した改変ビットマップ表40の対応する部分内のビットが全て「0」でない限り、縮退ビットマップ表50は、「0」のビットにはならない。図4に示した改変ビットマップ表40において、ビットの立つ箇所を部分的に密集させておいたため、縮退ビットマップ表50では、「1」のビットの立つ箇所の数が削減されている。 In the flowchart of FIG. 2, following step S3, the information processing apparatus degenerates or compresses the modified bitmap table for each group of documents and search conditions (step S4). An example of a bitmap table obtained by degenerating the modified bitmap table is shown in FIG. FIG. 5 is a diagram illustrating an example of a bitmap table obtained by degenerating the modified bitmap table illustrated in FIG. In the degenerate bitmap table 50 shown in FIG. 5, the bit “1” indicates that the bit “1” stands even at one place in the corresponding portion of the modified bitmap table 40 shown in FIG. 4. A degeneration rule of setting a bit of “1” is applied. That is, unless all the bits in the corresponding portion of the modified bitmap table 40 shown in FIG. 4 are “0”, the degenerate bitmap table 50 is not a “0” bit. In the modified bitmap table 40 shown in FIG. 4, the places where the bits are raised are partially concentrated, so that the number of places where the bits of “1” are raised is reduced in the degenerate bitmap table 50.
さらに詳細にいうと、縮退ビットマップ表50は、検索条件の類似グループ51として、「条件グループ1」、「条件グループ2」等を含んでいる。なお、「条件グループ1」は、図4に示した類似グループ「アウトドア」と同様なものである。また、縮退ビットマップ表50は、ドキュメントについてのDocグループ52として、「Docグループ1」、「Docグループ2」等を含んでいる。なお、「Docグループ1」は、図4に示した類似グループ「旅行」と同様なものである。図5において、「1」のビットが立っている箇所は、該当するDocグループに含まれるドキュメントの少なくとも一つが、検索条件の類似グループ(検索条件グループ)に含まれる検索条件の少なくとも一つを満たしていることを示す。例えば、符号53で示す「1」のビットに着目すると、「Docグループ1」に含まれるドキュメント(Doc idが「l」、「2」、「3」、「4」のドキュメント)のいずれかが、「条件グループ1」に含まれる検索条件のいずれか(「遠足」、「テント」、「ランプ」のいずれかの語を含むという条件)を満たしていることが分かる。また、例えば、符号54で示す「0」のビットに着目すると、「Docグループ1」に含まれるドキュメントはいずれも「条件グループ1」に含まれる検索条件を満たしていないことが分かる。
More specifically, the degenerate bitmap table 50 includes “
次に、改変ビットマップ表を圧縮したビットマップ表の一例を図6に示す。図6は、図4に示した改変ビットマップ表を圧縮したビットマップ表の一例を示す図である。圧縮ビットマップ表60は、検索条件の条件グループ名61として、「条件グループ1」、「条件グループ2」等を含んでいる。なお、「条件グループ1」は、図4に示した類似グループ「アウトドア」と同様なものである。また、圧縮ビットマップ表60は、ドキュメントについてのDocグループ名62として、「Docグループ1」、「Docグループ2」等を含んでいる。なお、「Docグループ1」は、図4に示した類似グループ「旅行」と同様なものである。
Next, FIG. 6 shows an example of a bitmap table obtained by compressing the modified bitmap table. FIG. 6 is a diagram showing an example of a bitmap table obtained by compressing the modified bitmap table shown in FIG. The compression bitmap table 60 includes “
さらに詳細にいうと、圧縮ビットマップ表60において、例えば、符号63で示す圧縮データ1−1は、図4に示した改変ビットマップ表40における、類似グループ「旅行」に含まれるドキュメント(Doc idが「l」、「2」、「3」、「4」のドキュメント)と、「アウトドア」に含まれる検索条件(「遠足」、「テント」、「ランプ」のいずれかの語を含むという条件)とを両方満たすビットマップ部分を圧縮したものである。図4に示した改変ビットマップ表40において、ビットの立つ箇所を部分的に密集させたために、圧縮ビットマップ表60は、圧縮効率が上がっている。これにより、リソース消費(メモリ、ディスク)が軽減される。なお、例えば、符号64で示す圧縮データ1−2は、図4に示した改変ビットマップ表40において対応する部分の全てのビットが「0」であるため、圧縮作業さえ不必要であるといえる。
More specifically, in the compressed bitmap table 60, for example, the compressed data 1-1 indicated by
ステップS4で実施する縮退または圧縮の方法は、縮退または圧縮の対象であるビットマップの持つboolean属性(0,1のいずれか)を保持した、縮退または圧縮の方法である。つまり、この方法は、ビットワイズ演算によるジョイン処理が可能な縮退または圧縮の方法である。これにより、インデックスの各段におけるビットワイズ演算によるジョイン処理が可能となる。なお、前記した例では、ビットマップの持つboolean属性を保持した縮退を行い、ビットマップの持つboolean属性を保持しない圧縮を行っているが、場合により、縮退は行わず、ビットマップの持つboolean属性を保持した圧縮を行うことも可能である。 The reduction or compression method performed in step S4 is a reduction or compression method that retains the boolean attribute (either 0 or 1) of the bitmap to be reduced or compressed. In other words, this method is a degeneracy or compression method that allows join processing by bitwise arithmetic. As a result, join processing by bitwise calculation at each stage of the index becomes possible. In the above-mentioned example, reduction is performed while retaining the boolean attribute of the bitmap, and compression is performed without retaining the boolean attribute of the bitmap, but in some cases, reduction is not performed and the boolean attribute of the bitmap is It is also possible to perform compression while holding
図2のフローチャートにおいて、ステップS4に続いて、情報処理装置は、縮退または圧縮したビットマップ表を多段状に構成する(ステップS5)。一例として2段構成のインデックスを図7に示す。図7は、図6に示した圧縮ビットマップ表の上に、図5に示した縮退ビットマップ表を積み上げた多段(2段)のインデックスの一例を示す図である。図7に示すように、インデックスの1段目71において符号71aで示す「1」のビットは、インデックスの2段目(最下段)72における「圧縮データ2−1」に対応している。同様に、符号71bで示す「1」のビットは「圧縮データ2−2」に対応し、符号71cで示す「1」のビットは「圧縮データ2−M」に対応している。
In the flowchart of FIG. 2, following step S4, the information processing apparatus configures the reduced or compressed bitmap table in a multistage manner (step S5). As an example, a two-stage index is shown in FIG. FIG. 7 is a diagram showing an example of a multi-stage (two-stage) index obtained by stacking the degenerate bitmap table shown in FIG. 5 on the compressed bitmap table shown in FIG. As shown in FIG. 7, the bit “1” indicated by
図2のフローチャートにおいて、ステップS5に続いて、情報処理装置は、段数は最適か否か判別し(ステップS6)、最適な段数となるまで、ステップS2〜ステップS5の処理を繰り返す。これにより、インデックス格納部6(図1参照)に格納されるインデックスが構築される。ここで、最適とは、インデックスの全体の大きさと、各段のビットマップ表のビットマップや圧縮データとが、扱うのに最適な大きさかどうかを示すものであり、予め所定の基準が定められる。この所定の基準はドキュメント(検索対象情報)を扱う環境により異なるものでありそれぞれ適宜定められる。また、図5および図6に示したように、1通りのグルーピングで縮退と圧縮の両方を行うことができるので、ステップS2〜ステップS5の処理を繰り返すときに、必ずしもグループの変更を行うとは限らない。また、所定のビットマップ表に格納された所定のデータを圧縮する処理を階層的に繰り返す場合にはグループの変更を伴うこととなる。 In the flowchart of FIG. 2, following step S5, the information processing apparatus determines whether or not the number of stages is optimal (step S6), and repeats the processes of steps S2 to S5 until the optimal number of stages is reached. As a result, an index stored in the index storage unit 6 (see FIG. 1) is constructed. Here, “optimal” indicates whether or not the overall size of the index and the bitmap and compressed data in the bitmap table at each stage are the optimum size for handling, and a predetermined standard is determined in advance. . This predetermined standard differs depending on the environment in which the document (search target information) is handled, and is determined appropriately. Also, as shown in FIGS. 5 and 6, both reduction and compression can be performed by one grouping, and therefore, when the processing of step S2 to step S5 is repeated, the group is not necessarily changed. Not exclusively. Further, when the process of compressing the predetermined data stored in the predetermined bitmap table is repeated hierarchically, the group is changed.
図1に戻って、情報検索装置1の構成の説明を続ける。
≪情報格納部≫
情報格納部7は、検索対象の複数のテキスト情報(検索対象情報)を格納するものであり、例えば、一般的なHDD等から構成される。本実施形態では、情報格納部7に格納されたテキスト情報の1つ1つをドキュメントとする。これらドキュメントには、ドキュメントを識別する識別情報(ドキュメントID:Doc id)と、ドキュメントタイトルとが付与されている。
Returning to FIG. 1, the description of the configuration of the
≪Information storage section≫
The
≪プログラム格納部≫
プログラム格納部8は、制御手段4が実行する各種プログラム等を格納するものであり、例えば、一般的メモリやHDD等から構成される。なお、インデックス格納部6や情報格納部7は、1以上の外部記憶装置で構成することもできる。
≪Program storage section≫
The
<制御手段>
制御手段4は、例えば、CPU等から構成され、検索条件獲得手段10と、ビットマップ情報算出手段11と、ビットマップ対応情報抽出手段12とを備えている。なお、これら検索条件獲得手段10、ビットマップ情報算出手段11およびビットマップ対応情報抽出手段12は、CPUが記憶手段3のプログラム格納部8に格納された所定のプログラムをRAMに展開して実行することにより実現されるものである。
<Control means>
The control means 4 is composed of, for example, a CPU and includes a search condition acquisition means 10, a bitmap information calculation means 11, and a bitmap correspondence information extraction means 12. The search
≪検索条件獲得手段≫
検索条件獲得手段10は、検索条件として、利用者の所望するドキュメント(検索対象情報)についての予め定められた複数の検索条件を獲得するものである。本実施形態では、検索条件獲得手段10は、検索条件として、ドキュメントに含まれる複数の単語と、当該ドキュメント自身の属性情報とを獲得するものとする。
≪Search condition acquisition means≫
The search
≪ビットマップ情報算出手段≫
ビットマップ情報算出手段11は、インデックス獲得手段13と、解凍手段14と、ビットマップ算出手段15と、インデックス取得制御手段16とを備えている。
インデックス獲得手段13は、予め作成されたインデックスの中から、検索条件獲得手段10で獲得された複数の検索条件に基づいて、データの包含関係が最大のものから最小のものまで順にビットマップ表を獲得するものである。本実施形態では、インデックス獲得手段13は、インデックス取得制御手段16の制御の下、インデックス格納部6から、インデックスの1段目(最上段)、2段目、…、最下段の順にインデックスのk(k=1,2,…)段目のビットマップ表を獲得する。
≪Bitmap information calculation means≫
The bitmap
The index acquisition means 13 displays the bitmap table in order from the largest to the smallest data inclusion relationship based on a plurality of search conditions acquired by the search condition acquisition means 10 from the indexes created in advance. To win. In the present embodiment, the
≪解凍手段≫
解凍手段14は、インデックス獲得手段13で獲得されたビットマップ表に格納された所定のデータが圧縮されている場合に圧縮されているデータを解凍したビットマップ表を生成するものである。本実施形態では、解凍手段14は、インデックス取得制御手段16の制御の下、インデックスのk段目のビットマップ表に格納されたデータが圧縮されている場合にそのデータを解凍する。
≪Defrost means≫
The decompressing
≪ビットマップ算出手段≫
ビットマップ算出手段15は、インデックス獲得手段13で獲得され、所定のデータが圧縮されている場合には圧縮されているデータが解凍された、ビットマップ表において、データの包含関係が最大のものから最小のものまで順に、ビットマップ表の中から、検索条件獲得手段10で獲得された複数の検索条件に対応した複数のビットマップ列を抽出し、抽出した複数のビットマップ列のそれぞれ対応する位置に割り当てられたビットについて、ビットワイズ演算を行うことでビットマップを算出するものである。本実施形態では、ビットマップ算出手段15は、インデックス取得制御手段16の制御の下、処理対象とするインデックスk段目のビットマップ表(圧縮されていた場合には解凍後)より抽出した複数のビットマップ列について、ビットワイズ演算を実行する。ここで、ビットワイズ演算とは、入力された検索条件が「AND検索」の場合には論理積をとることを指し、一方、入力された検索条件が「OR検索」の場合には、論理和をとることを指す。
≪Bitmap calculation means≫
The bitmap calculation means 15 is acquired by the index acquisition means 13, and when the predetermined data is compressed, the compressed data is decompressed. In order from the bitmap table to the smallest one, a plurality of bitmap sequences corresponding to the plurality of search conditions acquired by the search
インデックス取得制御手段16は、前記したインデックス獲得手段13、解凍手段14およびビットマップ算出手段15を統括制御するものである。本実施形態では、インデックス取得制御手段16は、インデックス獲得手段13で獲得されたインデックスのk段目のビットマップ表に格納されたデータが圧縮されているか否かを判別し、圧縮されている場合には解凍手段14に解凍させてから、ビットマップ算出手段15に出力し、一方、そうでない場合には、そのままビットマップ算出手段15に出力する。また、インデックス取得制御手段16は、インデックス獲得手段13で獲得されたインデックスのk段目のビットマップ表の次に(下に)さらにビットマップ表が存在するか否かを判別し、次に(下に)さらにビットマップ表が存在する場合に、インデックス獲得手段13に対して同様の処理を繰り返させ、一方、次に(下に)さらにビットマップ表が存在しない場合に、その時点においてビットマップ算出手段15で算出されているビットマップを後段のビットマップ対応情報抽出手段12に出力させる。
The index acquisition control means 16 controls the index acquisition means 13, the decompression means 14, and the bitmap calculation means 15 as a whole. In the present embodiment, the index
≪ビットマップ対応情報抽出手段≫
ビットマップ対応情報抽出手段12は、ビットマップ算出手段15においてデータの包含関係が最小のビットマップ表について算出されたビットマップに対応する情報(以下、ビットマップ対応情報という)として、複数のドキュメント(検索対象情報)の中から、データの包含関係が最小のビットマップ表について算出されたビットマップにおいていずれか一方のビット(1または0)が割り当てられたビット位置に対応する複数のドキュメント(検索対象情報)を抽出するものである。本実施形態では、ビットマップ対応情報抽出手段12は、インデックス取得制御手段16でk段目のビットマップ表の次に(下に)さらにビットマップ表が存在しないと判別された場合に、情報格納部7に格納された大量のドキュメントの中から、ビットマップ算出手段15で算出されたビットマップにおいて「1」のビットが割り当てられたビット位置に対応するドキュメントを抽出する。
≪Bitmap compatible information extraction means≫
The bitmap correspondence
<出力手段>
出力手段5は、所定の通信インタフェースや出力インタフェースから構成される。この出力手段5は、ビットマップ対応情報抽出手段12で抽出したドキュメント(検索対象情報)を、例えば、インターネット等の通信ネットワークを介して利用者の使用するPCに送信するものである。なお、出力手段5は、ビットマップ対応情報抽出手段12で抽出したドキュメント(検索対象情報)を、情報検索装置1にケーブルで接続された液晶ディスプレイ等の出力装置Dに出力することも可能である。
<Output means>
The
なお、情報検索装置1は、一般的なコンピュータを、前記した検索条件獲得手段10、ビットマップ対応情報抽出手段12、インデックス獲得手段13、解凍手段14、ビットマップ算出手段15およびインデックス取得制御手段16として機能させる情報検索プログラムを実行することで実現することもできる。これらのプログラムは、通信回線を介して配布することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。
Note that the
[情報検索装置の動作]
図1に示した情報検索装置1の動作について図8を参照(適宜図1参照)して説明する。図8は、図1に示した情報検索装置の動作を示すフローチャートである。まず、情報検索装置1は、検索条件獲得手段10によって、入力装置Mから入力手段2を介して、利用者の欲する情報に関する複数の検索条件を獲得する(ステップS11:検索条件獲得ステップ)。そして、情報検索装置1は、インデックス取得制御手段16によって、獲得すべきインデックスの段数kを初期化してk=1とする(ステップS12)。次に、情報検索装置1は、インデックス獲得手段13によって、ステップS11で獲得した複数の検索条件に対応するインデックスのk段目のビットマップ表を獲得する(ステップS13:インデックス獲得ステップ)。そして、情報検索装置1は、インデックス取得制御手段16によって、ステップS13で獲得したk段目のビットマップ表に格納されたデータが圧縮されているか否かを判別する(ステップS14)。圧縮されていた場合(ステップS14:Yes)、情報検索装置1は、解凍手段14によって、圧縮されたデータを解凍する(ステップS15:解凍ステップ)。次に、情報検索装置1は、ビットマップ算出手段15によって、獲得されたk段目のビットマップ表から抽出した複数のビットマップ列についてビットワイズ演算を行うことでビットマップを算出する(ステップS16:ビットマップ算出ステップ)。
[Operation of information retrieval device]
The operation of the
一方、ステップS14において、k段目のビットマップ表に格納されたデータが圧縮されていなかった場合(ステップS14:No)、情報検索装置1は、ステップS15をスキップして、ステップS16に進む。続いて、情報検索装置1は、インデックス取得制御手段16によって、現在のインデックスの段数kの値に「1」を加算して(k=k+1)、新たなkを取得し(ステップS17)、インデックスのk段目のビットマップ表が存在するか否かを判別する(ステップS18)。インデックスのk段目のビットマップ表が存在する場合には、ステップS13に戻る。ここで、情報検索装置1は、戻ったときに、前記したステップS16で算出されたビットマップにおいて「1」のビットの立った箇所から、インデックスのk段目のビットマップ表の該当するデータを獲得する。
On the other hand, when the data stored in the k-th bit map table is not compressed in step S14 (step S14: No), the
一方、ステップS18において、インデックスのk段目のビットマップ表が存在しない場合(ステップS18:No)、情報検索装置1は、ビットマップ対応情報抽出手段12によって、直前のステップS16で算出されたビットマップ(インデックスの最下段から算出されたビットマップ)に対応したビットマップ対応情報(ドキュメント)を情報格納部7から抽出する(ステップS19:ビットマップ対応情報抽出ステップ)。そして、情報検索装置1は、ステップS19で抽出されたビットマップ対応情報(ドキュメント)を検索結果情報として出力手段5を介して出力装置Dに出力する(ステップS20)。
On the other hand, if there is no k-th bitmap table in the index in step S18 (step S18: No), the
〔具体例〕
次に、具体例を用いて情報検索装置1の検索処理動作の概略を説明する。ここでは、一例として、図4に示したビットマップ表(改変ビットマップ表40)を元に予め作成されたインデックス(図7に示すインデックスの1段目71およびインデックスの2段目(最下段)72)がインデックス格納部6(図1参照)に格納されているものとする。また、改変ビットマップ表40に対応付けられた各ドキュメントを含む大量のドキュメントが情報格納部7(図1参照)に格納されているものとする。さらに、利用者が入力する検索条件が、図9に示すように、「遠足」と「卵焼き」という2つの語を含み、かつ、「有効期限内」であるドキュメントを検索する場合(AND検索)を想定する。
〔Concrete example〕
Next, an outline of the search processing operation of the
まず、情報検索装置1の検索条件獲得手段10は、図9に示す3つの検索条件を獲得する。続いて、インデックス獲得手段13は、図7に示すインデックスの1段目71すなわち縮退ビットマップ表50から、図9に示す3つの検索条件のうちの「遠足」を包含した「条件グループ1」のビットマップ列と、「卵焼き」を包含した「条件グループ2」のビットマップ列と、「有効期限」を包含した「条件グループM」のビットマップ列とを獲得する。獲得したビットマップ列を図10に示す。ここで、図7に示すインデックスの1段目71すなわち縮退ビットマップ表50は、データが圧縮されたものではないため、インデックス取得制御手段16は、解凍手段14を用いない。そして、ビットマップ算出手段15では、インデックス獲得手段13で獲得されたビットマップ列すなわち図10で示したビットマップ列について論理積演算を実施する。ことのきに算出されたビットマップ(論理積結果)を図11に示す。
First, the search condition acquisition means 10 of the
図4に示した改変ビットマップ表40において「1」のビットの立つ箇所を部分的に密集させたため、縮退ビットマップ表50(図7に示すインデックスの1段目71)の「1」のビットの立つ箇所の数が削減されているため、ビットワイズ演算のコストが軽量化(CPUキャッシュの有効活用)される。さらに、図11に示すように、ビットマップ演算後も「1」のビットの立つ箇所の数が削減されている。 In the modified bitmap table 40 shown in FIG. 4, the places where the “1” bits stand are partially concentrated, so that the “1” bit in the degenerate bitmap table 50 (first stage 71 of the index shown in FIG. 7). Since the number of locations where the error occurs is reduced, the cost of bitwise calculation is reduced (effective use of the CPU cache). Furthermore, as shown in FIG. 11, the number of places where the bit “1” stands is reduced even after the bitmap calculation.
次に、インデックス取得制御手段16は、図7に示すインデックスの1段目71の処理の後で、インデックスの最下段には未だ達していないと判別し、インデックス獲得手段13に対して、次段のビットマップ表の獲得を指示する。このとき、インデックス取得制御手段16は、図11に示したビットマップから、「1」のビットの立った箇所は、「Docグループ2」に対応していることを認識し、インデックス獲得手段13に対して、次段のビットマップ表の該当データの取得を指示する。
Next, the index acquisition control means 16 determines that it has not yet reached the lowest level of the index after the processing of the first level 71 of the index shown in FIG. Instructs acquisition of the bitmap table. At this time, the index acquisition control means 16 recognizes from the bitmap shown in FIG. 11 that the place where the bit “1” is set corresponds to “
次に、インデックス獲得手段13は、図7に示すインデックスの2段目(最下段)72すなわち圧縮ビットマップ表60において、「Docグループ2」に対応している行のデータを取得する。取得したビットマップの一例を図12に示す。ここで、「圧縮データ2−1」、「圧縮データ2−2」、「圧縮データ2−M」は、それぞれが複数の検索条件を包含している。そこで、インデックス取得制御手段16は、解凍手段14を用いて「圧縮データ2−1」、「圧縮データ2−2」、「圧縮データ2−M」を解凍させる。解凍されたビットマップを図13に示す。ビットマップ算出手段15は、図13に示すビットマップから、図9に示した3つの検索条件に対応するビットマップ列を抽出し、論理積演算を実施する。このとき抽出される3つのビットマップ列と、算出されるビットマップ(論理積結果)とを図14に示す。
Next, the index acquisition means 13 acquires the data of the row corresponding to “
次に、インデックス取得制御手段16は、図7に示すインデックスの2段目72の処理の後で、インデックスの最下段に達したと判別し、図14に示すビットマップ(論理積結果)をビットマップ対応情報抽出手段12に出力する。そして、ビットマップ対応情報抽出手段12は、図14に示すビットマップ(論理積結果)において「1」のビットの立った箇所から、全ての検索条件を満たすドキュメントとして、Doc idが「6」であるドキュメント(ドキュメントタイトル=「お弁当レシピ」:図4参照)を情報格納部7から獲得する。これにより、情報検索装置1は、抽出されたドキュメントを、検索結果情報として出力する。
Next, the index acquisition control means 16 determines that the lowest level of the index has been reached after the processing of the second level 72 of the index shown in FIG. 7, and the bit map (logical product result) shown in FIG. It outputs to the map corresponding | compatible information extraction means 12. FIG. Then, the bitmap correspondence
本実施形態によれば、情報検索装置1は、格納された大量のドキュメント(検索対象情報)と、入力されうる全ての検索条件とを対応づけたビットマップ表から予め作成されたインデックスを用いる。また、インデックスの元になるビットマップ表において、「1」のビットの立つ箇所をグループ単位に密集させたので、圧縮効率を上げると共に、部分解凍をも可能とし、また、縮退後に「1」のビットの立つ箇所の数を削減することができる。ここで、「1」のビットの立つ箇所は、利用者の望む検索対象である可能性が高く、その個数は検索候補を含む検索候補グループの数に相当する。この数を削減すると、ビットマップ演算において「1」のビットの立つ箇所の数が削減される。その結果、少ないリソース(CPUキャッシュ、メモリ、ディスク)消費でありながら、複数の検索条件を個別に切り離して処理することなくまとめて扱うことを可能にし、検索候補の絞込みを高速に実施することを可能とする。
According to the present embodiment, the
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。例えば、本実施形態では、インデックスの段数を2段としたが、3段以上であってもよい。例えば、図5に示した縮退ビットマップ表50をさらに縮退させると図15に示すように、縮退ビットマップ表150を構築することができる。縮退ビットマップ表150は、項目として、条件グループ151と、Docグループ152とを備えている。条件グループ151の「条件グループ1」は、図5に示した縮退ビットマップ表50の「条件グループ1」と「条件グループ2」とを「人物」という上位概念で縮退した新たなグループである。また、Docグループ152の「Docグループ1」は、図5に示した縮退ビットマップ表50の「Docグループ1」と「Docグループ2」とを合わせた上位概念(例えば、“趣味”)で縮退した新たなグループである。つまり、符号153で示す「1」のビットは、図5に示した縮退ビットマップ表50の該当する領域のビット(1,0,1,1)に対応している。このように縮退または圧縮を繰り返して3段以上の多段のインデックスを用いることで、複数の検索条件に基づいて、例えば、1000万以上の大量のドキュメントから所望のドキュメントを低消費リソースかつ高速に検索することができる。
As mentioned above, although embodiment of this invention was described, this invention is not limited to this, It can implement in the range which does not change the meaning. For example, in this embodiment, the number of index stages is two, but may be three or more. For example, if the reduced bitmap table 50 shown in FIG. 5 is further reduced, a reduced bitmap table 150 can be constructed as shown in FIG. The degenerate bitmap table 150 includes a
また、本実施形態では、インデックスの元にしたビットマップ表において検索条件およびドキュメントをそれぞれ類似したものでグループ化したが、グループ化の基準はこれに限定されるものではない。また、機械的に部分集合あるいはクラスに分類(クラス分け、クラスタリング)する手法としては、一般的に多くの手法があり、その手法にも限定されるものではない。格納される検索対象情報の集合と検索条件の集合との少なくとも一方をクラスタリングすることによりビットマップ上のビットの配置に偏りを出すことができればよい。特に、クラスタリングによって作成される「格納される検索対象情報の集合」のビットの偏りの特徴と、クラスタリングによって作成される「検索条件の集合」のビットの偏りの特徴とが同様になるように両方をクラスタリングすることが好ましい。これは、例えば、ドキュメント側の類似グループ名と、検索条件側の類似グループ名とが、同じグループ名となるようなクラスタリングを実施することで実現できる。 In the present embodiment, the search conditions and the documents are grouped according to similar ones in the bitmap table based on the index, but the grouping criteria are not limited to this. Further, there are generally many methods for mechanically classifying into subsets or classes (classification, clustering), and the methods are not limited to these methods. It is only necessary to bias the bit arrangement on the bitmap by clustering at least one of the set of search target information and the set of search conditions. In particular, both the characteristics of the bit bias of the “collection of search target information to be stored” created by clustering and the bit bias characteristics of the “set of search conditions” created by clustering are both the same. Are preferably clustered. This can be realized, for example, by performing clustering such that the similar group name on the document side and the similar group name on the search condition side have the same group name.
また、本実施形態では、縮退または圧縮する処理を順次施して多段状に構成されたインデックスが、複数のドキュメント(検索対象情報)を内容の類似度に基づいて複数のグループに分け、かつ、複数の検索条件を内容の類似度に基づいて複数のグループに分けたものとしたが、本発明はこれに限定されるものではない。例えば、インデックスにおいて複数の検索条件は、所定の連続値を区切って構成される複数の区間であってもよく、このとき、複数の検索対象情報に関連する情報をそれぞれ数値化した情報が、複数の区間のいずれかに含まれるようにしてもよい。この場合のビットマップ表の一例を図16に示す。図16は、価格を検索条件としたビットマップ表の一例を示す図である。ここでは、検索対象情報に関連する情報として、ドキュメントの属性情報としての価格(整数値)を想定している。また、1円から10万円までの複数のドキュメントがあるものとする。そして、1円から10万円までの500円単位の区間が検索条件の1つになっている。これによれば、価格等の数値化した情報のような連続量に対する検索条件であっても、ビットマップインデックスによる検索が可能となる。 Further, in the present embodiment, the index configured in multiple stages by sequentially performing the process of degeneration or compression divides a plurality of documents (search target information) into a plurality of groups based on the similarity of contents, and a plurality of indexes These search conditions are divided into a plurality of groups based on the similarity of contents, but the present invention is not limited to this. For example, the plurality of search conditions in the index may be a plurality of sections configured by dividing predetermined continuous values, and at this time, information obtained by quantifying information related to the plurality of search target information is a plurality of information. It may be included in any of the sections. An example of the bitmap table in this case is shown in FIG. FIG. 16 is a diagram showing an example of a bitmap table using prices as search conditions. Here, as information related to the search target information, a price (integer value) as attribute information of the document is assumed. It is also assumed that there are a plurality of documents ranging from 1 yen to 100,000 yen. A section of 500 yen unit from 1 yen to 100,000 yen is one of the search conditions. According to this, even if it is a search condition for a continuous amount such as numerical information such as a price, a search using a bitmap index is possible.
また、その他の設計変形例として、情報格納部7(図1参照)に、利用者の欲するドキュメント(検索対象情報)の他、例えば、そのドキュメントに関連する情報や、そのドキュメントへアクセスするためのアドレス(URI:Uniform Resource Identifier)等を格納するようにしてもよい。この場合には、ビットマップ対応情報抽出手段12(図1参照)は、論理積演算により算出されたビットマップに対応する情報(ビットマップ対応情報)として、利用者の所望するドキュメントの他に、そのドキュメントに関連する情報や、そのドキュメントへアクセスするためのアドレスを獲得する。これにより、情報検索装置1は、ドキュメントと共に、そのドキュメントに関連する情報や、そのドキュメントへアクセスするためのアドレスをも利用者に提示することができる。
As another design modification, in addition to a document (search target information) desired by the user, for example, information related to the document or access to the document is stored in the information storage unit 7 (see FIG. 1). An address (URI: Uniform Resource Identifier) or the like may be stored. In this case, the bitmap correspondence information extraction unit 12 (see FIG. 1), as information corresponding to the bitmap calculated by the logical product operation (bitmap correspondence information), in addition to the document desired by the user, Obtain information related to the document and an address to access the document. As a result, the
1 情報検索装置
2 入力手段
3 記憶手段
4 制御手段
5 出力手段
6 インデックス格納部
7 情報格納部
8 プログラム格納部
10 検索条件獲得手段
11 ビットマップ情報算出手段
12 ビットマップ対応情報抽出手段
13 インデックス獲得手段
14 解凍手段
15 ビットマップ算出手段
16 インデックス取得制御手段
M 入力装置
D 出力装置
DESCRIPTION OF
Claims (10)
前記検索条件として、前記利用者の所望する検索対象情報についての予め定められた複数の検索条件を獲得する検索条件獲得手段と、
予め作成されたビットマップ表に格納された所定のビットデータを縮退または圧縮する処理を施して加工した複数のビットマップ表を多段状に順次積み上げて構成したインデックスの中から、前記検索条件獲得手段で獲得された複数の検索条件に基づいて、データの包含関係が最大のものから最小のものまで順にビットマップ表を獲得するインデックス獲得手段と、
前記インデックス獲得手段で獲得されたビットマップ表に格納された所定のデータが圧縮されている場合に前記圧縮されているデータを解凍したビットマップ表を生成する解凍手段と、
前記インデックス獲得手段で獲得され、所定のデータが圧縮されている場合には前記圧縮されているデータが解凍された、ビットマップ表において、前記データの包含関係が最大のものから最小のものまで順に、前記ビットマップ表の中から、前記検索条件獲得手段で獲得された複数の検索条件に対応した複数のビットマップ列を抽出し、前記抽出した複数のビットマップ列のそれぞれ対応する位置に割り当てられたビットについて、ビットワイズ演算を行うことでビットマップを算出するビットマップ算出手段と、
前記データの包含関係が最小のビットマップ表について算出されたビットマップに対応する情報として、前記複数の検索対象情報の中から、前記最小のビットマップ表について算出されたビットマップにおいて前記一方のビットが割り当てられたビット位置に対応する検索対象情報を抽出するビットマップ対応情報抽出手段とを備え、
前記予め作成されたビットマップ表は、前記複数の検索対象情報の識別情報と、前記予め定められた複数の検索条件とが2値のいずれか一方のビットに対応付けられており、
前記インデックスは、前記処理前のビットマップ表に格納された所定のデータが前記処理後のビットマップ表に包含されるように階層的に形成されていることを特徴とする情報検索装置。 An information search device that searches, as search target information desired by the user, search target information corresponding to the input search condition from a plurality of search target information based on a search condition input by the user Because
Search condition acquisition means for acquiring a plurality of predetermined search conditions for search target information desired by the user as the search conditions;
The search condition acquisition means from among indexes constructed by sequentially stacking a plurality of bitmap tables processed in a degenerate or compressed manner by processing a predetermined bit data stored in a bitmap table created in advance. Index acquisition means for acquiring a bitmap table in order from the largest to the smallest inclusive relation of data based on the plurality of search conditions acquired in the step;
Decompression means for generating a bitmap table obtained by decompressing the compressed data when predetermined data stored in the bitmap table obtained by the index obtaining means is compressed;
In the bitmap table acquired by the index acquisition means and decompressed when the predetermined data is compressed, the inclusion relation of the data from the largest to the smallest in order A plurality of bitmap sequences corresponding to a plurality of search conditions acquired by the search condition acquisition means are extracted from the bitmap table and assigned to corresponding positions of the extracted plurality of bitmap sequences. Bitmap calculation means for calculating a bitmap by performing a bitwise operation on the obtained bits;
As the information corresponding to the bitmap calculated for the bitmap table with the smallest data inclusion relation, the one bit in the bitmap calculated for the minimum bitmap table from among the plurality of search target information A bitmap correspondence information extracting means for extracting search target information corresponding to the bit position to which
In the previously created bitmap table, the identification information of the plurality of search target information and the plurality of predetermined search conditions are associated with one of the binary bits,
The information search apparatus is characterized in that the index is hierarchically formed so that predetermined data stored in the bitmap table before processing is included in the bitmap table after processing.
前記複数の検索対象情報を複数のグループに分けたときに前記グループを単位として、前記予め作成されたビットマップ表に格納された所定のデータを縮退または圧縮する処理を順次施して多段状に構成されたものであり、
前記インデックスの各段を示すビットマップ表は、ビットワイズ演算によるジョイン処理が可能であることを特徴とする請求項1に記載の情報検索装置。 The index is
When the plurality of pieces of search target information are divided into a plurality of groups, the group is used as a unit, and predetermined data stored in the bitmap table created in advance is sequentially subjected to a process of reducing or compressing and configured in a multi-stage manner It has been
The information search apparatus according to claim 1, wherein the bitmap table indicating each stage of the index can be joined by a bitwise operation.
前記複数の検索対象情報を内容の類似度に基づいて複数のグループに分けたときに前記グループを単位として、前記予め作成されたビットマップ表に格納された所定のデータを縮退または圧縮する処理を順次施して多段状に構成されたものであり、
前記インデックスの各段を示すビットマップ表は、ビットワイズ演算によるジョイン処理が可能であることを特徴とする請求項1に記載の情報検索装置。 The index is
A process of reducing or compressing predetermined data stored in the previously created bitmap table in units of the group when the plurality of search target information is divided into a plurality of groups based on the similarity of contents It is a multi-tiered structure that is applied sequentially,
The information search apparatus according to claim 1, wherein the bitmap table indicating each stage of the index can be joined by a bitwise operation.
前記予め定められた複数の検索条件を複数のグループに分けたときに前記グループを単位として、前記予め作成されたビットマップ表に格納された所定のデータを縮退または圧縮する処理を順次施して多段状に構成されたものであり、
前記インデックスの各段を示すビットマップ表は、ビットワイズ演算によるジョイン処理が可能であることを特徴とする請求項1ないし請求項3のいずれか一項に記載の情報検索装置。 The index is
When the plurality of predetermined search conditions are divided into a plurality of groups, a process for sequentially reducing or compressing predetermined data stored in the bitmap table prepared in advance is performed in units of the groups. It is configured in a shape,
The information search apparatus according to any one of claims 1 to 3, wherein the bitmap table indicating each stage of the index can be joined by a bitwise operation.
前記予め定められた複数の検索条件を内容の類似度に基づいて複数のグループに分けたときに前記グループを単位として、前記予め作成されたビットマップ表に格納された所定のデータを縮退または圧縮する処理を順次施して多段状に構成されたものであり、
前記インデックスの各段を示すビットマップ表は、ビットワイズ演算によるジョイン処理が可能であることを特徴とする請求項1ないし請求項3のいずれか一項に記載の情報検索装置。 The index is
When the predetermined plurality of search conditions are divided into a plurality of groups based on the similarity of content, the predetermined data stored in the previously created bitmap table is reduced or compressed in units of the groups. It is configured in a multi-stage shape by sequentially performing processing to
The information search apparatus according to any one of claims 1 to 3, wherein the bitmap table indicating each stage of the index can be joined by a bitwise operation.
前記複数の検索対象情報に関連する情報をそれぞれ数値化した情報は、前記複数の区間のいずれかに含まれ、
前記インデックスは、
前記区間を単位として、前記予め作成されたビットマップ表に格納された所定のデータを縮退または圧縮する処理を順次施して多段状に構成されたものであることを特徴とする請求項1ないし請求項5のいずれか一項に記載の情報検索装置。 The plurality of predetermined search conditions in the index are a plurality of sections configured by dividing predetermined continuous values,
Information obtained by digitizing information related to the plurality of search target information is included in any of the plurality of sections,
The index is
2. The multi-stage configuration according to claim 1, wherein a predetermined data stored in the bitmap table prepared in advance is sequentially subjected to a process of degenerating or compressing the section as a unit. Item 6. The information search device according to any one of Items 5 to 6.
前記情報検索装置は、
前記検索条件として、前記利用者の所望する検索対象情報についての予め定められた複数の検索条件を獲得する検索条件獲得ステップと、
予め作成されたビットマップ表に格納された所定のビットデータを縮退または圧縮する処理を施して加工した複数のビットマップ表を多段状に順次積み上げて構成したインデックスの中から、前記検索条件獲得ステップで獲得された複数の検索条件に基づいて、データの包含関係が最大のものから最小のものまで順にビットマップ表を獲得するインデックス獲得ステップと、
前記インデックス獲得ステップで獲得されたビットマップ表に格納された所定のデータが圧縮されている場合に前記圧縮されているデータを解凍したビットマップ表を生成する解凍ステップと、
前記インデックス獲得ステップで獲得され、所定のデータが圧縮されている場合には前記圧縮されているデータが解凍された、ビットマップ表において、前記データの包含関係が最大のものから最小のものまで順に、前記ビットマップ表の中から、前記検索条件獲得ステップで獲得された複数の検索条件に対応した複数のビットマップ列を抽出し、前記抽出した複数のビットマップ列のそれぞれ対応する位置に割り当てられたビットについて、ビットワイズ演算を行うことでビットマップを算出するビットマップ算出ステップと、
前記データの包含関係が最小のビットマップ表について算出されたビットマップに対応する情報として、前記複数の検索対象情報の中から、前記最小のビットマップ表について算出されたビットマップにおいて前記一方のビットが割り当てられたビット位置に対応する検索対象情報を抽出するビットマップ対応情報抽出ステップとを実行し、
前記予め作成されたビットマップ表は、前記複数の検索対象情報の識別情報と、前記予め定められた複数の検索条件とが2値のいずれか一方のビットに対応付けられており、
前記インデックスは、前記処理前のビットマップ表に格納された所定のデータが前記処理後のビットマップ表に包含されるように階層的に形成されていることを特徴とする情報検索方法。 An information search device that searches, as search target information desired by the user, search target information corresponding to the input search condition from a plurality of search target information based on a search condition input by the user Information search method,
The information search device includes:
A search condition acquisition step of acquiring a plurality of predetermined search conditions for search target information desired by the user as the search conditions;
The search condition acquisition step from among indexes formed by sequentially stacking a plurality of bitmap tables processed in a degenerate or compressed manner by processing a predetermined bit data stored in a bitmap table created in advance. An index acquisition step of acquiring a bitmap table in order from the largest to the smallest inclusive relation of data based on the plurality of search conditions acquired in the step;
A decompression step of generating a bitmap table in which the compressed data is decompressed when the predetermined data stored in the bitmap table obtained in the index obtaining step is compressed;
In the bitmap table acquired in the index acquisition step, and when the predetermined data is compressed, the compressed data is decompressed. In the bitmap table, the inclusion relation of the data is from the largest to the smallest. A plurality of bitmap sequences corresponding to the plurality of search conditions acquired in the search condition acquisition step are extracted from the bitmap table and assigned to the corresponding positions of the extracted plurality of bitmap sequences. A bitmap calculation step for calculating a bitmap by performing a bitwise operation on the obtained bits;
As the information corresponding to the bitmap calculated for the bitmap table with the smallest data inclusion relation, the one bit in the bitmap calculated for the minimum bitmap table from among the plurality of search target information A bitmap correspondence information extraction step for extracting search target information corresponding to the bit position to which
In the previously created bitmap table, the identification information of the plurality of search target information and the plurality of predetermined search conditions are associated with one of the binary bits,
The information search method according to claim 1, wherein the index is hierarchically formed so that predetermined data stored in the bitmap table before processing is included in the bitmap table after processing.
前記複数の検索対象情報を内容の類似度に基づいて複数のグループに分けたときに前記グループを単位として、前記予め作成されたビットマップ表に格納された所定のデータを縮退または圧縮する処理を順次施して多段状に構成されたものであり、
前記インデックスの各段を示すビットマップ表は、ビットワイズ演算によるジョイン処理が可能であることを特徴とする請求項7に記載の情報検索方法。 The index is
A process of reducing or compressing predetermined data stored in the previously created bitmap table in units of the group when the plurality of search target information is divided into a plurality of groups based on the similarity of contents It is a multi-tiered structure that is applied sequentially,
The information search method according to claim 7, wherein the bitmap table indicating each stage of the index can be joined by a bitwise operation.
前記予め定められた複数の検索条件を内容の類似度に基づいて複数のグループに分けたときに前記グループを単位として、前記予め作成されたビットマップ表に格納された所定のデータを縮退または圧縮する処理を順次施して多段状に構成されたものであり、
前記インデックスの各段を示すビットマップ表は、ビットワイズ演算によるジョイン処理が可能であることを特徴とする請求項7または請求項8に記載の情報検索方法。 The index is
When the predetermined plurality of search conditions are divided into a plurality of groups based on the similarity of content, the predetermined data stored in the previously created bitmap table is reduced or compressed in units of the groups. It is configured in a multi-stage shape by sequentially performing processing to
9. The information search method according to claim 7, wherein the bitmap table indicating each level of the index can be joined by a bitwise operation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007212670A JP2009048352A (en) | 2007-08-17 | 2007-08-17 | Information retrieval device, information retrieval method and information retrieval program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007212670A JP2009048352A (en) | 2007-08-17 | 2007-08-17 | Information retrieval device, information retrieval method and information retrieval program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009048352A true JP2009048352A (en) | 2009-03-05 |
Family
ID=40500518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007212670A Pending JP2009048352A (en) | 2007-08-17 | 2007-08-17 | Information retrieval device, information retrieval method and information retrieval program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009048352A (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012176374A1 (en) * | 2011-06-21 | 2012-12-27 | 日本電気株式会社 | Numeric range search device, numeric range search method, and numeric range search program |
WO2013038527A1 (en) * | 2011-09-14 | 2013-03-21 | 富士通株式会社 | Extraction method, extraction program, extraction device, and extraction system |
WO2014109109A1 (en) * | 2013-01-11 | 2014-07-17 | 日本電気株式会社 | Index key generating device and index key generating method and search method |
JP2016053976A (en) * | 2015-11-18 | 2016-04-14 | 富士通株式会社 | Data generation method, device and program, retrieval processing method, and device and program |
KR101702767B1 (en) * | 2015-08-18 | 2017-02-03 | 라인 가부시키가이샤 | System and method for searching document according to access right and type of document using bit |
JPWO2018179243A1 (en) * | 2017-03-30 | 2019-06-27 | 株式会社日立製作所 | INFORMATION PROCESSING APPARATUS AND METHOD |
WO2019227217A1 (en) * | 2018-05-31 | 2019-12-05 | Hardy-Francis Enterprises Inc. | Systems and methods for indexing and searching data |
US10922343B2 (en) | 2016-10-21 | 2021-02-16 | Fujitsu Limited | Data search device, data search method, and recording medium |
US10997139B2 (en) | 2017-03-24 | 2021-05-04 | Fujitsu Limited | Search apparatus and search method |
US11055328B2 (en) | 2017-03-29 | 2021-07-06 | Fujitsu Limited | Non-transitory computer readable medium, encode device, and encode method |
-
2007
- 2007-08-17 JP JP2007212670A patent/JP2009048352A/en active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9465838B2 (en) | 2011-06-21 | 2016-10-11 | Nec Corporation | Numeric range search device, numeric range search method, and numeric range search program |
WO2012176374A1 (en) * | 2011-06-21 | 2012-12-27 | 日本電気株式会社 | Numeric range search device, numeric range search method, and numeric range search program |
JPWO2012176374A1 (en) * | 2011-06-21 | 2015-02-23 | 日本電気株式会社 | Numerical range search device, numerical range search method, and numerical range search program |
WO2013038527A1 (en) * | 2011-09-14 | 2013-03-21 | 富士通株式会社 | Extraction method, extraction program, extraction device, and extraction system |
JPWO2013038527A1 (en) * | 2011-09-14 | 2015-03-23 | 富士通株式会社 | Extraction method, extraction program, extraction apparatus, and extraction system |
KR101560109B1 (en) | 2011-09-14 | 2015-10-13 | 후지쯔 가부시끼가이샤 | Extraction method, computer readable recording medium having extraction program therein, extraction device, and extraction system |
AU2011377004B2 (en) * | 2011-09-14 | 2015-11-12 | Fujitsu Limited | Extraction method, extraction program, extraction device, and extraction system |
US9916314B2 (en) | 2011-09-14 | 2018-03-13 | Fujitsu Limited | File extraction method, computer product, file extracting apparatus, and file extracting system |
US10496624B2 (en) | 2013-01-11 | 2019-12-03 | Nec Corporation | Index key generating device, index key generating method, and search method |
JPWO2014109109A1 (en) * | 2013-01-11 | 2017-01-19 | 日本電気株式会社 | Index key generation device, index key generation method, and search method |
WO2014109109A1 (en) * | 2013-01-11 | 2014-07-17 | 日本電気株式会社 | Index key generating device and index key generating method and search method |
KR101702767B1 (en) * | 2015-08-18 | 2017-02-03 | 라인 가부시키가이샤 | System and method for searching document according to access right and type of document using bit |
JP2017041247A (en) * | 2015-08-18 | 2017-02-23 | Line株式会社 | System and method for retrieving document according to authority and type of access to document utilizing bit |
US10229183B2 (en) | 2015-08-18 | 2019-03-12 | Line Corporation | Systems and methods for enabling access to a document based on document types and group association of users and documents |
JP2016053976A (en) * | 2015-11-18 | 2016-04-14 | 富士通株式会社 | Data generation method, device and program, retrieval processing method, and device and program |
US10922343B2 (en) | 2016-10-21 | 2021-02-16 | Fujitsu Limited | Data search device, data search method, and recording medium |
US10997139B2 (en) | 2017-03-24 | 2021-05-04 | Fujitsu Limited | Search apparatus and search method |
US11055328B2 (en) | 2017-03-29 | 2021-07-06 | Fujitsu Limited | Non-transitory computer readable medium, encode device, and encode method |
JPWO2018179243A1 (en) * | 2017-03-30 | 2019-06-27 | 株式会社日立製作所 | INFORMATION PROCESSING APPARATUS AND METHOD |
WO2019227217A1 (en) * | 2018-05-31 | 2019-12-05 | Hardy-Francis Enterprises Inc. | Systems and methods for indexing and searching data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009048352A (en) | Information retrieval device, information retrieval method and information retrieval program | |
Deorowicz et al. | Compression of DNA sequence reads in FASTQ format | |
KR101732754B1 (en) | Content-based image search | |
US10754887B1 (en) | Systems and methods for multimedia image clustering | |
US8533203B2 (en) | Identifying synonyms of entities using a document collection | |
US20160196277A1 (en) | Data record compression with progressive and/or selective decompression | |
CN101055585A (en) | System and method for clustering documents | |
WO2008154029A1 (en) | Data classification and hierarchical clustering | |
US9558185B2 (en) | Method and system to discover and recommend interesting documents | |
US11853279B2 (en) | Data storage using vectors of vectors | |
US9292594B2 (en) | Harvesting relevancy data, including dynamic relevancy agent based on underlying grouped and differentiated files | |
JP4361526B2 (en) | Reputation information processing apparatus, reputation information processing method, reputation information processing program, and recording medium | |
US20180276244A1 (en) | Method and system for searching for similar images that is nearly independent of the scale of the collection of images | |
US9552415B2 (en) | Category classification processing device and method | |
Telles et al. | Normalized compression distance for visual analysis of document collections | |
US10860625B2 (en) | Method for semantic indexing of big data using a multidimensional, hierarchical scheme | |
CN102214194A (en) | Image processing apparatus, image processing method, and program | |
JP5132667B2 (en) | Information processing apparatus and program | |
JP4544047B2 (en) | Web image search result classification presentation method and apparatus, program, and storage medium storing program | |
JP2001022766A (en) | Method and device for high speed processing for multidimensional database | |
Schmidt et al. | A concept for plagiarism detection based on compressed bitmaps | |
US11734244B2 (en) | Search method and search device | |
US8745069B2 (en) | Creation of a category tree with respect to the contents of a data stock | |
Youssef et al. | Combined features for content based image retrieval: A comparative study | |
Cheng et al. | Fast query evaluation through document identifier assignment for inverted file-based information retrieval systems |