JP6281287B2 - Information processing apparatus, search method, and program - Google Patents
Information processing apparatus, search method, and program Download PDFInfo
- Publication number
- JP6281287B2 JP6281287B2 JP2014001642A JP2014001642A JP6281287B2 JP 6281287 B2 JP6281287 B2 JP 6281287B2 JP 2014001642 A JP2014001642 A JP 2014001642A JP 2014001642 A JP2014001642 A JP 2014001642A JP 6281287 B2 JP6281287 B2 JP 6281287B2
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- column
- search
- list
- attribute column
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、情報処理装置、検索方法、及び、プログラムに関する。 The present invention relates to an information processing device, a search method, and a program.
木構造を用いて属性列を検索するシステムの一例が、非特許文献1に記載されている。
An example of a system that searches an attribute string using a tree structure is described in Non-Patent
非特許文献1に記載される多次元データ検索装置では、属性の集合である多次元データ(属性列)が用いられる。検索装置は、登録されている属性列群(登録属性列群)の中から、クエリとして入力された属性列(検索属性列)に合致する登録属性列を検索する。
In the multidimensional data search apparatus described in Non-Patent
検索装置は、登録属性列群をトライ木で管理する。トライ木では、各階層に属性列の属性が対応づけられ、当該階層に対応する属性の一致判定を行うためのノードが配置される。各ノードは、検索データと比較を行う属性値、及び当該属性値と一致した場合に、次に辿る下層のノードを示すリンクを持つ。さらに、トライ木は、最下層に登録属性列を格納する葉ノードを持つ。検索装置は、検索属性列が入力されると、根ノードから、各ノードの属性値と検索属性列の属性値が一致するかどうかの判定を、葉ノードにたどり着くまで繰り返す。 The search device manages the registered attribute string group using a trie tree. In the trie tree, the attribute of the attribute column is associated with each hierarchy, and a node for performing matching determination of the attribute corresponding to the hierarchy is arranged. Each node has an attribute value to be compared with the search data, and a link indicating a lower layer node to be traced next when the node matches the attribute value. Furthermore, the trie tree has a leaf node that stores a registered attribute string in the lowest layer. When the search attribute string is input, the search device repeats from the root node whether or not the attribute value of each node matches the attribute value of the search attribute string until the leaf node is reached.
また、検索装置は、注目属性を用いて一致判定処理を省略(スキップ)する。検索装置は、検索を行うたびに、検索属性列と所定の注目属性に対応する階層で探索したノードとを記憶する。そして、検索装置は、新たな検索属性列が入力されると、過去の検索属性列と新たな検索属性列との間で、先頭からの各属性を比較する。ここで、注目属性より前の属性までの各属性値が同じであれば、新たな検索属性列の先頭から注目属性までを探索するノードは、過去の検索属性列と同一である。従って、この場合、検索装置は、注目属性に対応する階層のノードから新たな検索属性列の探索を開始する。 Further, the search device omits (skips) the matching determination process using the attention attribute. Each time a search is performed, the search device stores a search attribute string and a node searched in a hierarchy corresponding to a predetermined attention attribute. Then, when a new search attribute string is input, the search device compares each attribute from the beginning between the past search attribute string and the new search attribute string. Here, if the attribute values up to the attribute before the attribute of interest are the same, the node for searching from the head of the new search attribute string to the attribute of interest is the same as the past search attribute string. Therefore, in this case, the search device starts searching for a new search attribute string from a node in the hierarchy corresponding to the attribute of interest.
以上のように、非特許文献1に記載される検索装置では、注目属性までの一致判定処理をスキップすることにより、検索が高速化される。
As described above, in the search device described in
しかしながら、非特許文献1に記載の多次元データ検索装置では、過去の検索データと新たな検索データとの間で、注目属性より前の属性値が変化すると、注目属性までの一致判定処理をスキップできず、検索の高速化の効果が得られない。
However, in the multidimensional data search device described in
本発明の目的は、上述の課題を解決し、多次元データの検索において、検索を高速化できる、検索装置、検索方法、及び、プログラムを提供することである。 An object of the present invention is to provide a search device, a search method, and a program that can solve the above-described problems and can speed up the search in searching for multidimensional data.
本発明の情報処理装置は、所定数の属性の各々の属性値を所定の属性順で配置した属性列のリストを記憶する属性列リスト記憶手段と、過去の検索属性列と新たな検索属性列との間の属性値の変化をもとに算出された、前記リストにおける前記過去の検索属性列に対応する属性列の位置と前記新たな検索属性列に対応する属性列の位置との間の距離をもとに、前記新たな検索属性列に対応する属性列の位置を特定する検索手段と、を備える。 An information processing apparatus according to the present invention includes an attribute column list storage unit that stores a list of attribute columns in which attribute values of a predetermined number of attributes are arranged in a predetermined attribute order, a past search attribute column, and a new search attribute column Between the position of the attribute column corresponding to the past search attribute column in the list and the position of the attribute column corresponding to the new search attribute column, calculated based on the change of the attribute value between Search means for specifying the position of the attribute string corresponding to the new search attribute string based on the distance.
本発明の検索方法は、所定数の属性の各々の属性値を所定の属性順で配置した属性列のリストを記憶し、過去の検索属性列と新たな検索属性列との間の属性値の変化をもとに算出された、前記リストにおける前記過去の検索属性列に対応する属性列の位置と前記新たな検索属性列に対応する属性列の位置との間の距離をもとに、前記新たな検索属性列に対応する属性列の位置を特定する。 The search method of the present invention stores a list of attribute columns in which attribute values of a predetermined number of attributes are arranged in a predetermined attribute order, and sets attribute values between a past search attribute column and a new search attribute column. Based on the distance between the position of the attribute column corresponding to the past search attribute column in the list and the position of the attribute column corresponding to the new search attribute column, calculated based on the change, The position of the attribute column corresponding to the new search attribute column is specified.
本発明のプログラムは、コンピュータに、所定数の属性の各々の属性値を所定の属性順で配置した属性列のリストを記憶し、過去の検索属性列と新たな検索属性列との間の属性値の変化をもとに算出された、前記リストにおける前記過去の検索属性列に対応する属性列の位置と前記新たな検索属性列に対応する属性列の位置との間の距離をもとに、前記新たな検索属性列に対応する属性列の位置を特定する、処理を実行させる。 The program of the present invention stores a list of attribute columns in which attribute values of a predetermined number of attributes are arranged in a predetermined attribute order in a computer, and attributes between a past search attribute column and a new search attribute column Based on the distance between the position of the attribute column corresponding to the past search attribute column in the list and the position of the attribute column corresponding to the new search attribute column calculated based on the change in value The process of specifying the position of the attribute string corresponding to the new search attribute string is executed.
本発明の効果は、多次元データの検索において、検索を高速化できることである。 The effect of the present invention is that the search can be speeded up in the search of multidimensional data.
(第1の実施の形態)
本発明の第1の実施の形態について説明する。
(First embodiment)
A first embodiment of the present invention will be described.
はじめに、本発明の第1の実施の形態における属性列について説明する。 First, the attribute string in the first embodiment of the present invention will be described.
本発明の第1の実施の形態においては、検索システムは、登録されている属性列(登録属性列600)の中から、入力された属性列(検索属性列700、または、入力属性列)に合致する登録属性列600を検索する。 In the first embodiment of the present invention, the search system selects an input attribute column (search attribute column 700 or input attribute column) from registered attribute columns (registered attribute column 600). A matching registered attribute column 600 is searched.
図4、及び、図5は、本発明の第1の実施の形態における、属性列の例を示す図である。 4 and 5 are diagrams showing examples of attribute strings in the first embodiment of the present invention.
属性列では、所定数の属性の属性値が、所定の属性順(属性インデックス)に従って配置される。属性値は、文字や数値でもよいし、文字や数値のペア、セット、マップでもよい。また、属性列が、当該属性列の識別子等、属性インデックスごとの属性値以外の情報を含んでもよい。 In the attribute column, attribute values of a predetermined number of attributes are arranged according to a predetermined attribute order (attribute index). The attribute value may be a character or a numerical value, or may be a character, numerical value pair, set, or map. The attribute column may include information other than the attribute value for each attribute index, such as an identifier of the attribute column.
図4の属性列では、属性順を示す属性インデックス「1」、「2」、「3」に、文字「a」、「a」、「e」が対応づけられている。図5の属性列では、属性インデックス「1」、「2」、「3」に、文字列のペア{気分;良好}、{動作;歩行}、{位置;東京}が対応づけられている。 In the attribute column of FIG. 4, the characters “a”, “a”, and “e” are associated with the attribute indexes “1”, “2”, and “3” indicating the attribute order. In the attribute column of FIG. 5, a pair of character strings {mood; good}, {motion; walking}, {position; Tokyo} is associated with the attribute indexes “1”, “2”, and “3”.
次に、本発明の第1の実施の形態の構成について説明する。 Next, the configuration of the first exemplary embodiment of the present invention will be described.
図2は、本発明の第1の実施の形態における、検索システムの構成を示すブロック図である。 FIG. 2 is a block diagram showing the configuration of the search system according to the first embodiment of the present invention.
図2を参照すると、本発明の第1の実施の形態における検索システムは、検索装置100、登録属性列入力装置300、検索属性列入力装置400、及び、検索結果出力装置500を含む。検索装置100は、本発明の情報処理装置の一実施形態である。
Referring to FIG. 2, the search system according to the first exemplary embodiment of the present invention includes a search device 100, a registered attribute
登録属性列入力装置300は、登録属性列600を、キーボード等の入力デバイスや、データファイルにより受け付け、検索装置100に送信する。検索属性列入力装置400は、検索属性列700を、キーボード等の入力デバイスや、データファイルにより受け付け、前回の検索属性列700と新たな検索属性列700との差分である、差分属性列800を検索装置100に送信する。検索装置100は、差分属性列800を用いて、新たな検索属性列700に合致する登録属性列600を検索する。検索結果出力装置500は、検索装置100における検索結果を、ディスプレイ等の出力デバイスや、データファイルにより出力(表示)する。
The registered attribute
検索装置100は、リスト更新部110、リスト記憶部120、影響値記憶部140、属性値記憶部150、登録部160、検索結果記憶部180、及び、検索部190を含む。
The search device 100 includes a
ここで、属性値記憶部150は、属性値情報151を記憶する。
Here, the attribute
属性値情報151は、属性列における各属性のとりうる値に付与される値インデックスを示す。 The attribute value information 151 indicates a value index given to a possible value of each attribute in the attribute column.
図6は、本発明の第1の実施の形態における、属性値情報151の例を示す図である。 FIG. 6 is a diagram illustrating an example of the attribute value information 151 according to the first embodiment of this invention.
属性値情報151は、「属性インデックス」、当該属性インデックスの属性のとりうる値を示す「属性値」、及び、当該属性値に付与される値インデックスである「値インデックス」を含む。値インデックスには、属性インデックスごとに、異なる属性値に1から順に異なる値が付与される。 The attribute value information 151 includes an “attribute index”, an “attribute value” indicating a possible value of the attribute of the attribute index, and a “value index” that is a value index assigned to the attribute value. In the value index, different attribute values are assigned in order from 1 to different attribute values for each attribute index.
図6の例では、属性インデックス「0」の属性値「a」、「b」に対して、値インデックス「0」、「1」がそれぞれ付与されている。また、属性インデックス「1」の属性値「a」、「d」に対して、値インデックス「0」、「1」がそれぞれ付与されている。属性インデックス「2」の属性値「e」、「f」に対して、値インデックス「0」、「1」がそれぞれ付与されている。 In the example of FIG. 6, the value indexes “0” and “1” are assigned to the attribute values “a” and “b” of the attribute index “0”, respectively. Also, value indexes “0” and “1” are assigned to the attribute values “a” and “d” of the attribute index “1”, respectively. Value indexes “0” and “1” are assigned to the attribute values “e” and “f” of the attribute index “2”, respectively.
リスト記憶部120は、属性列リスト121を記憶する。
The
属性列リスト121は、各属性のとりうる値の全組み合わせに係る属性列を、値インデックスの昇順に並べたリストである。 The attribute column list 121 is a list in which attribute columns related to all combinations of values that each attribute can take are arranged in ascending order of the value index.
図7は、本発明の第1の実施の形態における、属性列リスト121の例を示す図である。 FIG. 7 is a diagram illustrating an example of the attribute column list 121 according to the first embodiment of this invention.
属性列リスト121は、「リストインデックス」、当該リストインデックスに対応する「属性列」、及び、「登録情報」を含む。ここで、リストインデックスは、属性列リスト121における各属性列の位置を示す。リストインデックスには、属性列リスト121の先頭の属性列から、0から順に値が付与される。属性列は、リストインデックスの位置に対応する属性列を示す。登録情報は、属性列に関して登録された情報を示す。 The attribute column list 121 includes a “list index”, an “attribute column” corresponding to the list index, and “registration information”. Here, the list index indicates the position of each attribute column in the attribute column list 121. Values are assigned to the list index in order from 0 from the top attribute column of the attribute column list 121. The attribute column indicates an attribute column corresponding to the position of the list index. The registration information indicates information registered regarding the attribute column.
図7の例では、登録情報として、属性列「aae」、「bdf」に対応する登録属性列600「aae」、「bdf」が、それぞれ登録されている。なお、登録情報には、登録属性列600が登録されているかどうかを示すフラグや、登録属性列600の識別子、登録属性列600に係る他の情報や処理へのリンクが設定されていてもよい。 In the example of FIG. 7, registration attribute columns 600 “aae” and “bdf” corresponding to the attribute columns “aae” and “bdf” are registered as registration information, respectively. In the registration information, a flag indicating whether or not the registration attribute column 600 is registered, an identifier of the registration attribute column 600, a link to other information and processing related to the registration attribute column 600 may be set. .
影響値記憶部140は、影響値情報141を記憶する。
The influence
影響値情報141は、属性列における属性の値が、前回と新たな検索属性列700間で変化した場合に、属性列リスト121における、前回と新たな検索属性列700間の距離(リストインデックスの差分)への影響の大きさを示す。 When the attribute value in the attribute column changes between the previous and new search attribute column 700, the influence value information 141 indicates the distance between the previous and new search attribute column 700 in the attribute column list 121 (list index Indicates the magnitude of the effect on (difference).
図8は、本発明の第1の実施の形態における、影響値情報141の例を示す図である。 FIG. 8 is a diagram illustrating an example of the influence value information 141 according to the first embodiment of this invention.
影響値情報141は、「属性インデックス」、及び、当該属性インデックスの属性値の変化の影響の大きさを示す「影響値」を含む。 The influence value information 141 includes “attribute index” and “influence value” indicating the magnitude of the influence of the change of the attribute value of the attribute index.
属性インデックスi(0≦i≦N−1、Nは属性列の長さ)の属性の影響値Diは、例えば、数1式により算出される。
The attribute influence value Di of the attribute index i (0 ≦ i ≦ N−1, where N is the length of the attribute column) is calculated by, for example,
ここで、nData(j)は、属性インデックスjの属性のとりうる値の数を示す。 Here, nData (j) indicates the number of values that the attribute of the attribute index j can take.
図8の例では、前回と新たな検索属性列700間で属性インデックス「0」、「1」、「2」の属性値が変化した場合に、前回と新たな検索属性列700間の距離が、それぞれ、「4」、「2」、「1」の倍数で変化することを示している。 In the example of FIG. 8, when the attribute values of the attribute indexes “0”, “1”, and “2” change between the previous and new search attribute column 700, the distance between the previous and new search attribute column 700 is as follows. , Respectively, indicating a change in multiples of “4”, “2”, and “1”.
リスト更新部110は、登録属性列600に新たな属性値が含まれている場合に、属性値情報151、影響値情報141、及び、属性列リスト121を更新する。ここで、リスト更新部110は、属性値情報151において、新たな属性値に新たな値インデックスを付与する。また、リスト更新部110は、各属性について、数1式により影響値を算出することにより、影響値情報141を更新する。そして、リスト更新部110は、新たな属性値と他の属性のとりうる値の全組み合わせに係る新たな属性列を、属性列リスト121に挿入する。ここで、属性列リスト121における、新たな属性列の挿入位置は、数2式により算出される。
The
ここで、V[i]は、属性列の属性インデックスiの値インデックスを示す。 Here, V [i] indicates a value index of the attribute index i of the attribute column.
登録部160は、属性列リスト121に、登録属性列600を登録する。ここで、属性列リスト121における、登録属性列600の登録位置は、上述の数2式により算出される。
The
検索結果記憶部180は、検索結果181を記憶する。検索結果181は、前回の検索における検索結果を示す。
The search
図9は、本発明の第1の実施の形態における、検索結果181の例を示す図である。 FIG. 9 is a diagram illustrating an example of the search result 181 according to the first embodiment of this invention.
検索結果181は、属性列リスト121における、前回の検索属性列700に対応する属性列のリストインデックスを含む。図9の検索結果181は、前回の検索属性列700に対応する属性列のリストインデックスが「0」であることを示している。 The search result 181 includes a list index of the attribute column corresponding to the previous search attribute column 700 in the attribute column list 121. The search result 181 in FIG. 9 indicates that the list index of the attribute column corresponding to the previous search attribute column 700 is “0”.
検索部190は、差分属性列800、及び、影響値情報141をもとに、属性列リスト121における、前回の検索属性列700と新たな検索属性列700との間の距離を算出する。そして、検索部190は、算出した距離もとに、新たな検索属性列700に対応する属性列のリストインデックスを取得する。
The
図10は、本発明の第1の実施の形態における、差分属性列800の例を示す図である。 FIG. 10 is a diagram illustrating an example of the difference attribute column 800 according to the first embodiment of this invention.
差分属性列800では、前回の検索属性列700と新たな検索属性列700との間で変化した属性の属性インデックスごとに、前回の属性値と新たな属性値を示す。 The difference attribute column 800 indicates the previous attribute value and the new attribute value for each attribute index of the attribute that has changed between the previous search attribute column 700 and the new search attribute column 700.
図10の差分属性列800は、属性インデックス「0」の値が「a」から「b」に、属性インデックス「2」の属性値が「e」から「f」に変化したことを示す。 The difference attribute column 800 in FIG. 10 indicates that the value of the attribute index “0” has changed from “a” to “b”, and the attribute value of the attribute index “2” has changed from “e” to “f”.
検索部190は、属性列リスト121における、前回の検索属性列700に対応する属性列と新たな検索属性列700に対応する属性列との間の距離を、例えば、数3式により算出する。
The
ここで、Vp[i]は、前回の検索属性列700の属性インデックスiの値インデックス、Vn[i]は、新たな検索属性列700の属性インデックスiの値インデックスを示す。 Here, Vp [i] indicates the value index of the attribute index i of the previous search attribute column 700, and Vn [i] indicates the value index of the attribute index i of the new search attribute column 700.
そして、検索部190は、検索結果181により示される、前回の検索属性列700に対応する属性列のリストインデックスに、算出された距離を加算することにより、新たな検索属性列700に対応する属性列のリストインデックスを取得する。
Then, the
さらに、検索部190は、属性列リスト121における、新たな検索属性列700に対応する属性列のリストインデックスの位置に設定されている登録情報を取得し、検索結果として検索結果出力装置500に出力する。
Further, the
なお、検索装置100、登録属性列入力装置300、検索属性列入力装置400、及び、検索結果出力装置500は、それぞれ、プログラムに基づく制御によって動作するコンピュータであってもよい。
Note that the search device 100, the registered attribute
図3は、本発明の第1の実施の形態における、検索装置100がコンピュータにより実現される場合の構成を示すブロック図である。この場合、検索装置100は、コンピュータプログラムを実行するCPU(Central Processing Unit)101、データを記憶する記憶手段(記憶媒体)102、他の装置等とデータ通信を行う通信手段103、キーボード等の入力手段104、及び、ディスプレイ等の出力手段105を含む。
FIG. 3 is a block diagram showing a configuration when the search device 100 is realized by a computer in the first embodiment of the present invention. In this case, the search device 100 includes a CPU (Central Processing Unit) 101 that executes a computer program, a storage unit (storage medium) 102 that stores data, a
CPU101は、リスト更新部110、登録部160、及び、検索部190の機能を実現するためのコンピュータプログラムを実行する。記憶手段102は、リスト記憶部120、影響値記憶部140、属性値記憶部150、及び、検索結果記憶部180のデータを記憶する。通信手段103は、登録属性列入力装置300、検索属性列入力装置400から、それぞれ、登録属性列600、差分属性列800を受信する。また、通信手段103は検索結果出力装置500へ、検索結果を送信する。なお、入力手段104が、ユーザ等から、登録属性列600、差分属性列800を受け付ける、あるいは、出力手段105が、ユーザ等へ検索結果を出力してもよい。
The
次に、本発明の第1の実施の形態の動作について説明する。 Next, the operation of the first exemplary embodiment of the present invention will be described.
はじめに、本発明の第1の実施の形態の登録処理について説明する。 First, registration processing according to the first embodiment of this invention will be described.
図11は、本発明の第1の実施の形態における、登録処理を示すフローチャートである。 FIG. 11 is a flowchart showing registration processing in the first embodiment of the present invention.
はじめに、検索装置100は、登録属性列入力装置300から登録属性列600を受信する(ステップS101)。 First, the search device 100 receives the registration attribute sequence 600 from the registration attribute sequence input device 300 (step S101).
リスト更新部110は、対象属性インデックスに0を設定する(ステップS102)。
The
リスト更新部110は、登録属性列600における対象属性インデックスの属性の値が、属性値情報151に設定されているかどうか(新たな属性値かどうか)を判定する(ステップS103)。
The
属性値情報151に設定されている場合(新たな属性値でない場合)(ステップS103/Y)、S105の処理へ進む。 If it is set in the attribute value information 151 (if it is not a new attribute value) (step S103 / Y), the process proceeds to S105.
属性値情報151に設定されていない場合(新たな属性値の場合)(ステップS103/N)、リスト更新部110は、後述するリスト更新処理を実行する(ステップS104)。これにより、リスト更新部110は、新たな属性値を属性値情報151に登録し、影響値情報141を更新する。さらに、リスト更新部110は、新たな属性値を含む属性列に対応する登録属性列600が登録可能となるように、属性列リスト121を更新する。
When the attribute value information 151 is not set (in the case of a new attribute value) (step S103 / N), the
リスト更新部110は、登録属性列600の全属性インデックスに対して処理を終了したか判定する(ステップS105)。
The
全インデックスに対して処理を終了していない場合(ステップS105/N)リスト更新部110は、対象属性インデックスをインクリメントし(ステップS106)、ステップS103からの処理を繰り返す。
When processing has not been completed for all indexes (step S105 / N), the
全インデックスに対して処理を終了した場合(ステップS105/Y)、登録部160は、登録属性列600を登録すべき位置を示すリストインデックスを算出する(ステップS107)。
When the process is completed for all indexes (step S105 / Y), the
登録部160は、算出したリストインデックスの位置に、登録属性列600を登録する(ステップS108)。
The
次に、本発明の第1の実施の形態のリスト更新処理について説明する。 Next, list update processing according to the first embodiment of this invention will be described.
図12は、本発明の第1の実施の形態における、リスト更新処理を示すフローチャートである。 FIG. 12 is a flowchart showing list update processing according to the first embodiment of this invention.
リスト更新部110は、属性値情報151に、登録属性列600における対象属性インデックスの属性値(新たな属性値)を追加する(ステップS201)。ここで、リスト更新部110は、属性値情報151において、新たな属性値に新たな値インデックスを付与する。
The
リスト更新部110は、影響値情報141を更新する(ステップS202)。ここで、リスト更新部110は、各属性について、数1式により影響値を算出する。
The
リスト更新部110は、登録属性列600における対象属性インデックスの属性値(新たな属性値)と、他の属性インデックスのとりうる属性値との全組み合わせについて、新たな属性列を生成する(ステップS203)。
The
リスト更新部110は、ステップS203で生成した新たな属性列のうちの1つを選択する(ステップS204)。
The
リスト更新部110は、選択した属性列の挿入位置のリストインデックスを算出する(ステップS205)。ここで、リスト更新部110は、数2式により、挿入位置のリストインデックスを算出する。
The
リスト更新部110は、属性列リスト121における、算出したリストインデックスの位置に、属性列を挿入する(ステップS206)。ここで、リスト更新部110は、挿入位置以降の各属性列のリストインデックスをインクリメントする。
The
リスト更新部110は、ステップS203で生成した全ての属性列について、ステップS204〜S206の処理を繰り返す(ステップS207)。
The
次に、本発明の第1の実施の形態の登録処理の具体例を説明する。 Next, a specific example of the registration process according to the first embodiment of this invention will be described.
図13は、本発明の第1の実施の形態における、登録処理の具体例を示す図である。ここでは、図13の初期状態のような、属性値情報151、影響値情報141、及び、属性列リスト121が、それぞれ、属性値記憶部150、影響値記憶部140、及び、リスト記憶部120に記憶されていると仮定する。
FIG. 13 is a diagram illustrating a specific example of the registration process according to the first embodiment of this invention. Here, as in the initial state of FIG. 13, the attribute value information 151, the influence value information 141, and the attribute column list 121 are respectively converted into an attribute
ここで、検索装置100が、図13のように、登録属性列600「bdf」を受信したと仮定する。この場合、対象属性インデックス「0」の属性値「b」は、属性値情報151に設定されていない(新たな属性値である)。リスト更新部110は、図13の状態1のように、属性値情報151において、対象属性インデックス「0」に属性値「b」を追加し、値インデックス「1」を付与する。リスト更新部110は、影響値情報141において、属性インデックス「0」、「1」、「2」の影響値として、それぞれ「1」、「1」、「1」を算出し、設定する。リスト更新部110は、対象属性インデックス「0」の属性値「b」を含む新たな属性列「bae」を生成する。リスト更新部110は、属性列「bae」のリストインデックスとして「1」を算出する。リスト更新部110は、リストインデックス「1」の位置に属性列「bae」を挿入する。
Here, it is assumed that the search device 100 receives the registration attribute string 600 “bdf” as shown in FIG. In this case, the attribute value “b” of the target attribute index “0” is not set in the attribute value information 151 (it is a new attribute value). The
また、対象属性インデックス「1」の属性値「d」は、属性値情報151に設定されていない(新たな属性値である)。リスト更新部110は、図13の状態2のように、属性値情報151において、対象属性インデックス「1」に属性値「d」を追加し、値インデックス「1」を付与する。リスト更新部110は、影響値情報141において、属性インデックス「0」、「1」、「2」のそれぞれの影響値として、それぞれ「2」、「1」、「1」を算出し、設定する。リスト更新部110は、対象属性インデックス「1」の属性値「d」を含む新たな属性列「ade」、「bde」を生成する。リスト更新部110は、属性列「ade」、「bde」のリストインデックスとして、それぞれ「1」、「3」を算出する。リスト更新部110は、リストインデックス「1」、「3」の位置に属性列「ade」、「bde」をそれぞれ挿入する。
Further, the attribute value “d” of the target attribute index “1” is not set in the attribute value information 151 (it is a new attribute value). The
さらに、対象属性インデックス「2」の属性値「f」は、属性値情報151に設定されていない(新たな属性値である)。リスト更新部110は、図13の状態3のように、属性値情報151において、対象属性インデックス「2」に属性値「f」を追加し、値インデックス「1」を付与する。リスト更新部110は、影響値情報141において、属性インデックス「0」、「1」、「2」の影響値として、それぞれ「4」、「2」、「1」を算出し、設定する。リスト更新部110は、対象属性インデックス「2」の属性値「f」を含む新たな属性列「aaf」、「adf」、「baf」、「bdf」を生成する。リスト更新部110は、属性列「aaf」、「adf」、「baf」、「bdf」のリストインデックスとして、それぞれ「1」、「3」、「5」、「7」を算出する。リスト更新部110は、リストインデックス「1」、「3」、「5」、「7」の位置に属性列「aaf」、「adf」、「baf」、「bdf」をそれぞれ挿入する。
Furthermore, the attribute value “f” of the target attribute index “2” is not set in the attribute value information 151 (it is a new attribute value). The
次に、登録部160は、登録属性列600「bdf」のリストインデックスとして、「7」を算出する。登録部160は、図13の状態3のように、リストインデックス「7」の位置に、登録属性列600「bdf」を登録する。
Next, the
次に、本発明の第1の実施の形態の検索処理について説明する。 Next, search processing according to the first embodiment of this invention will be described.
図14は、本発明の第1の実施の形態における、検索処理を示すフローチャートである。 FIG. 14 is a flowchart showing search processing in the first embodiment of the present invention.
はじめに、検索装置100は、検索属性列入力装置400から差分属性列800を受信する(ステップS301)。 First, the search device 100 receives the difference attribute sequence 800 from the search attribute sequence input device 400 (step S301).
検索部190は、差分属性列800と影響値情報141とをもとに、前回の検索属性列700と新たな検索属性列700との間の距離を算出する(ステップS302)。ここで、検索部190は、数3式により、前回の検索属性列700と新たな検索属性列700との間の距離を算出する。
The
検索部190は、検索結果181とステップS302で算出した距離とをもとに、新たな検索属性列700に対応する属性列のリストインデックスを算出する(ステップS303)。ここで、検索部190は、検索結果181により示される、前回の検索属性列700に対応する属性列のリストインデックスに、算出した距離を加算することにより、新たな検索属性列700に対応する属性列のリストインデックスを算出する。
The
検索部190は、属性列リスト121における、新たな検索属性列700に対応する属性列のリストインデックスの位置に登録されている登録情報を取得する(ステップS304)。ここで、例えば、登録情報として登録属性列600が設定されている場合、新たな検索属性列700に合致する登録属性列600が登録されていることを意味する。
The
検索部190は、取得した登録情報を、検索結果として検索結果出力装置500に出力する(ステップS305)。
The
検索部190は、新たな検索属性列700に対応する属性列のリストインデックスで、検索結果181を更新する(ステップS306)。
The
次に、本発明の第1の実施の形態の検索処理の具体例を説明する。 Next, a specific example of search processing according to the first embodiment of this invention will be described.
図15は、本発明の第1の実施の形態における、検索処理の具体例を示す図である。ここでは、図15のような、属性値情報151、影響値情報141、属性列リスト121、及び、検索結果181が、それぞれ、属性値記憶部150、影響値記憶部140、リスト記憶部120、及び、検索結果記憶部180に記憶されていると仮定する。
FIG. 15 is a diagram illustrating a specific example of search processing according to the first embodiment of this invention. Here, as shown in FIG. 15, the attribute value information 151, the influence value information 141, the attribute column list 121, and the search result 181 are respectively converted into an attribute
ここで、前回の検索属性列700「aae」、新たな検索属性列700「bdf」に対して、検索装置100が、図15のような差分属性列800を受信したと仮定する。この場合、検索部190は、図15のように、前回の検索属性列700「aae」と新たな検索属性列700「bdf」との間の距離として「7」を算出する。新たな検索属性列700「bdf」に対応する属性列のリストインデックスとして「7」を算出する。そして、検索部190は、リストインデックス「7」の位置に登録されている登録情報「bdf」を取得し、検索結果として出力する。さらに、検索部190は、検索結果181のリストインデックスを「7」で更新する。
Here, it is assumed that the search apparatus 100 receives the difference attribute column 800 as shown in FIG. 15 for the previous search attribute column 700 “aae” and the new search attribute column 700 “bdf”. In this case, the
なお、検索部190は、検索結果記憶部180に検索結果181が記憶されていない場合は、例えば、新たな検索属性列700と属性列リスト121の各属性列とを比較することにより、新たな検索属性列700に対応する属性列のリストインデックスを特定する。
When the search result 181 is not stored in the search
以上により、本発明の第1の実施の形態の動作が完了する。 Thus, the operation of the first exemplary embodiment of the present invention is completed.
なお、本発明の第1の実施の形態では、検索装置100が、検索属性列入力装置400から差分属性列800を受信している。しかしながら、検索装置100は、検索属性列入力装置400から新たな検索属性列700を受信し、差分属性列800を生成してもよい。
In the first embodiment of the present invention, the search device 100 receives the difference attribute sequence 800 from the search attribute
また、本発明の第1の実施の形態では、検索結果記憶部180が1つの検索結果181を記憶している。しかしながら、検索結果記憶部180は、ユーザ識別子ごとに検索結果181を記憶し、検索部190が、検索属性列入力装置400から差分属性列800とともに受信したユーザ識別子に対応する検索結果181を用いて、検索を行ってもよい。
In the first embodiment of the present invention, the search
また、本発明の第1の実施の形態では、検索部190は、前回の検索属性列700と新たな検索属性列700との間の属性値の変化をもとに、前回の検索属性列700に対応する属性列と新たな検索属性列700に対応する属性列との間の距離を算出する。しかしながら、検索部190は、前回の検索属性列700の代わりに、前回以前の過去の検索属性列700を用いてもよい。この場合、検索部190は、過去と新たな検索属性列700間の属性値の変化をもとに、過去と新たな検索属性列700に対応する属性列間の距離を算出する。そして、検索部190は、過去の検索属性列700に対応する属性列のリストインデックスに、算出した距離を加算することにより、新たな検索属性列700に対応する属性列のリストインデックスを取得する。
In the first embodiment of the present invention, the
次に、本発明の第1の実施の形態の特徴的な構成を説明する。図1は、本発明の第1の実施の形態の特徴的な構成を示すブロック図である。 Next, a characteristic configuration of the first exemplary embodiment of the present invention will be described. FIG. 1 is a block diagram showing a characteristic configuration of the first embodiment of the present invention.
図1を参照すると、検索装置(情報処理装置)100は、リスト記憶部(属性列リスト記憶手段)120と検索部(検索手段)190とを含む。リスト記憶部120は、所定数の属性の各々の属性値を所定の属性順で配置した属性列リスト121を記憶する。検索部190は、過去の新たな検索属性列間の属性値の変化をもとに算出された、属性列リスト121における過去と新たな検索属性列に対応する属性列間の距離をもとに、新たな検索属性列に対応する属性列の位置を特定する。
Referring to FIG. 1, the search device (information processing device) 100 includes a list storage unit (attribute string list storage unit) 120 and a search unit (search unit) 190. The
本発明の第1の実施の形態によれば、多次元データの検索において、検索を高速化できる。その理由は、検索部190が、過去と新たな検索属性列間の属性値の変化をもとに算出された、属性列リスト121における過去と新たな検索属性列に対応する属性列間の距離をもとに、新たな検索属性列に対応する属性列の位置を特定するためである。
According to the first embodiment of the present invention, it is possible to speed up the search in searching for multidimensional data. This is because the distance between attribute columns corresponding to the past and new search attribute columns in the attribute column list 121 calculated by the
これにより、過去と新たな検索属性列間でどの属性の値が変化しても、新たな検索属性列と登録属性列との間の各属性の値の比較を行うことなく、属性列リスト121における新たな検索属性列に対応する属性列の位置を特定し、検索結果を得ることができる。 As a result, regardless of which attribute value changes between the past and the new search attribute column, the attribute column list 121 is not compared without comparing the value of each attribute between the new search attribute column and the registered attribute column. The position of the attribute column corresponding to the new search attribute column in can be specified, and the search result can be obtained.
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described.
本発明の第1の実施の形態では、登録属性列600の登録に伴って属性列リスト121が更新されると、検索結果181が示す前回の検索属性列700に対応する属性列のリストインデックスと属性列リスト121との整合がとれなくなる。そのため、正しい検索結果を得るためには、検索を行う前に全ての登録属性列600の登録を完了する、もしくは、登録属性列600が入力されるたびに検索結果181の初期化を行う必要がある。 In the first embodiment of the present invention, when the attribute column list 121 is updated as the registered attribute column 600 is registered, the list index of the attribute column corresponding to the previous search attribute column 700 indicated by the search result 181 Matching with the attribute column list 121 becomes impossible. Therefore, in order to obtain a correct search result, it is necessary to complete the registration of all the registered attribute columns 600 before performing a search, or to initialize the search results 181 every time the registered attribute column 600 is input. is there.
本発明の第2の実施の形態では、属性列リスト121の更新とともに、検索結果181も更新される。 In the second embodiment of the present invention, the search result 181 is updated along with the update of the attribute column list 121.
本発明の第2の実施の形態の構成は、本発明の第1の実施の形態(図2)と同様となる。 The configuration of the second embodiment of the present invention is the same as that of the first embodiment (FIG. 2) of the present invention.
リスト更新部110は、属性列リスト121を更新するときに、検索結果181を更新する。
The
次に、本発明の第2の実施の形態の動作について説明する。 Next, the operation of the second exemplary embodiment of the present invention will be described.
はじめに、本発明の第2の実施の形態の登録処理について説明する。 First, a registration process according to the second embodiment of this invention will be described.
上述のリスト更新処理(図12)のステップS206において、リスト更新部110は、新たな属性列を属性列リスト121に挿入するときに、以下の処理を行う。すなわち、リスト更新部110は、新たな属性列の挿入位置のリストインデックスが、検索結果181のリストインデックスより小さい場合、検索結果181のリストインデックスをインクリメントする。
In step S <b> 206 of the list update process (FIG. 12), the
次に、本発明の第2の実施の形態の登録処理の具体例を説明する。 Next, a specific example of registration processing according to the second embodiment of this invention will be described.
図16は、本発明の第2の実施の形態における、登録処理の具体例を示す図である。ここでは、図16の初期状態のような属性値情報151、影響値情報141、及び、属性列リスト121が、それぞれ、属性値記憶部150、影響値記憶部140、及び、リスト記憶部120に記憶されていると仮定する。また、図16の初期状態のような検索結果181が、検索結果記憶部180に記憶されていると仮定する。に記憶されていると仮定する。
FIG. 16 is a diagram showing a specific example of the registration process in the second embodiment of the present invention. Here, the attribute value information 151, the influence value information 141, and the attribute column list 121 as in the initial state of FIG. 16 are stored in the attribute
ここで、検索装置100が、図16のように、登録属性列600「bhf」を受信したと仮定する。この場合、対象属性インデックス「1」の属性値「h」は、属性値情報151に設定されていない(新たな属性値である)。リスト更新部110は、図16の状態1のように、属性値情報151において、対象属性インデックス「1」に属性値「h」を追加し、値インデックス「2」を付与する。リスト更新部110は、影響値情報141において、属性インデックス「0」、「1」、「2」の影響値として、それぞれ「6」、「2」、「1」を算出し、設定する。リスト更新部110は、対象属性インデックス「1」の属性値「h」を含む新たな属性列「ahe」、「ahf」、「bhe」、「bhf」を生成する。リスト更新部110は、属性列「ahe」のリストインデックスとして「4」を算出する。リスト更新部110は、リストインデックス「4」の位置に属性列「ahe」を挿入するときに、検索結果181のリストインデックスを「8」にインクリメントする。さらに、リスト更新部110は、属性列「ahf」のリストインデックスとして「5」を算出する。リスト更新部110は、リストインデックス「5」の位置に属性列「ahf」を挿入するときに、検索結果181のリストインデックスを「9」にインクリメントする。
Here, it is assumed that the search device 100 receives the registration attribute string 600 “bhf” as shown in FIG. In this case, the attribute value “h” of the target attribute index “1” is not set in the attribute value information 151 (it is a new attribute value). The
なお、本発明の第2の実施の形態の検索処理は、本発明の第1の実施の形態(図14)と同様となる。 Note that the search processing of the second embodiment of the present invention is the same as that of the first embodiment (FIG. 14) of the present invention.
以上により、本発明の第2の実施の形態の動作が完了する。 Thus, the operation of the second exemplary embodiment of the present invention is completed.
本発明の第2の実施の形態によれば、登録属性列600の登録に伴って属性列リスト121が更新されても、正しい検索結果を得ることができる。その理由は、リスト更新部110が、属性列リスト121を更新するときに、検索結果181を更新するためである。
According to the second embodiment of the present invention, a correct search result can be obtained even if the attribute column list 121 is updated as the registered attribute column 600 is registered. The reason is that the
(第3の実施の形態)
次に、本発明の第3の実施の形態について説明する。
(Third embodiment)
Next, a third embodiment of the present invention will be described.
本発明の第1の実施の形態では、登録属性列600の属性値にワイルドカードを含む場合に検索を行うことができない。ここで、ワイルドカードは、属性値がどのような値でもマッチする属性値である。本発明の第3の実施の形態では、ワイルドカードの属性値を「*」により示す。例えば、ある属性列の属性インデックス「1」の属性値が「*」の場合、他の属性列の属性インデックス「1」の属性値がどのような値でも、当該他の属性列の属性インデックス「1」の属性は、当該属性列の属性インデックス「1」の属性に合致すると判断される。 In the first embodiment of the present invention, the search cannot be performed when the attribute value of the registered attribute column 600 includes a wild card. Here, the wild card is an attribute value that matches any attribute value. In the third embodiment of the present invention, the attribute value of the wild card is indicated by “*”. For example, when the attribute value of the attribute index “1” of a certain attribute column is “*”, whatever the attribute value of the attribute index “1” of the other attribute column is, the attribute index “ It is determined that the attribute “1” matches the attribute of the attribute index “1” of the attribute column.
本発明の第3の実施の形態では、ワイルドカードの属性値を含む登録属性列600も、属性列リスト121に登録される。そして、ワイルドカード参照情報131を用いて、検索属性列700と合致する、ワイルドカードの属性値を含む登録属性列600が検索される。 In the third embodiment of the present invention, a registered attribute column 600 including a wild card attribute value is also registered in the attribute column list 121. Then, using the wild card reference information 131, a registered attribute column 600 including a wild card attribute value that matches the search attribute column 700 is searched.
はじめに、本発明の第3の実施の形態の構成について説明する。 First, the configuration of the third exemplary embodiment of the present invention will be described.
図17は、本発明の第3の実施の形態における、検索システムの構成を示すブロック図である。 FIG. 17 is a block diagram showing a configuration of a search system according to the third embodiment of the present invention.
図17を参照すると、本発明の第3の実施の形態における検索装置100は、本発明の第1の実施の形態における検索装置100の構成(図2)に加えて、さらに、ワイルドカード参照記憶部130を含む。ワイルドカード参照記憶部130は、ワイルドカード参照情報131を記憶する。
Referring to FIG. 17, the search device 100 according to the third embodiment of the present invention further includes a wild card reference storage in addition to the configuration (FIG. 2) of the search device 100 according to the first embodiment of the present invention.
ワイルドカード参照情報131は、属性列リスト121におけるある属性列と、当該属性列600が合致する、ワイルドカードの属性値を含む他の属性列との関係を示す。 The wild card reference information 131 indicates the relationship between a certain attribute column in the attribute column list 121 and another attribute column that includes the wild card attribute value that matches the attribute column 600.
図18は、本発明の第3の実施の形態における、ワイルドカード参照情報131の例を示す図である。 FIG. 18 is a diagram illustrating an example of the wild card reference information 131 according to the third embodiment of this invention.
ワイルドカード参照情報131は、「参照元」、及び、「参照先」を含む。ここで、「参照元」、及び、「参照先」はリストインデックスであり、属性列リスト121における参照元のリストインデックスの属性列が、参照先のリストインデックスの、ワイルドカードの属性値を含む属性列に合致することを示す。 The wild card reference information 131 includes “reference source” and “reference destination”. Here, “reference source” and “reference destination” are list indexes, and the attribute column of the list index of the reference source in the attribute column list 121 includes an attribute including the wildcard attribute value of the list index of the reference destination. Indicates that the column matches.
図18の例では、参照元「0」に参照先「4」が対応づけられており、リストインデックス「0」の属性列が、ワイルドカードの属性値を含む、リストインデックス「4」の属性列に合致することを示す。すなわち、リストインデックス「4」に登録されている属性列は、リストインデックス「0」の属性列の属性の少なくとも一部の属性値をワイルドカードで置き換えた属性列である。 In the example of FIG. 18, the reference source “0” is associated with the reference destination “4”, and the attribute column of the list index “0” includes the wild card attribute value. Indicates that it matches. That is, the attribute column registered in the list index “4” is an attribute column in which at least some of the attribute values of the attribute column of the list index “0” are replaced with wild cards.
リスト更新部110は、登録属性列600に新たな属性値が含まれている場合に、属性値情報151、影響値情報141、属性列リスト121に加えて、ワイルドカード参照情報131も更新する。
When a new attribute value is included in the registered attribute column 600, the
次に、本発明の第3の実施の形態の動作について説明する。 Next, the operation of the third exemplary embodiment of the present invention will be described.
はじめに、本発明の第3の実施の形態の登録処理について説明する。 First, the registration process according to the third embodiment of the present invention will be described.
上述のリスト更新処理(図12)のステップS206において、リスト更新部110は、新たな属性列を属性列リスト121に挿入するときに、以下のように、ワイルドカード参照情報131を更新する。すなわち、リスト更新部110は、属性列リスト121に、ワイルドカードの属性値を含む新たな属性列に合致する他の属性列がある場合、当該他の属性列のリストインデックスを参照元、新たな属性列のリストインデックスを参照先に追加する。また、リスト更新部110は、属性列リスト121に、新たな属性列が合致する、ワイルドカードの属性値を含む他の属性列がある場合、新たな属性列のリストインデックスを参照元、当該他の属性列のリストインデックスを参照先に追加する。
In step S206 of the above-described list update process (FIG. 12), the
ここで、リスト更新部110は、新たな属性列の各属性インデックスについて、以下の処理により、ワイルドカードの属性値を含む新たな属性列に合致する他の属性列、または、新たな属性列が合致する、ワイルドカードの属性値を含む他の属性列を抽出する。
Here, for each attribute index of the new attribute column, the
すなわち、リスト更新部110は、属性列リスト121における、新たな属性列の挿入位置のリストインデックスから、属性インデックスに対する影響値分減じたリストインデックスを算出する。ここで、新たな属性列の当該属性インデックスの属性値がワイルドカードの場合は、当該算出したリストインデックスの属性列が、新たな属性列に合致する属性列である。一方、当該算出したリストインデックスの属性列の当該属性インデックスの属性値がワイルドカードの場合は、当該算出したリストインデックスの属性列は、新たな属性列が合致する属性列である。リスト更新部110は、このようなリストインデックスの減算、及び、合致判定を、「当該属性インデックスに対する属性値の数−1」回繰り返す。
That is, the
次に、本発明の第3の実施の形態の登録処理の具体例を説明する。 Next, a specific example of registration processing according to the third embodiment of this invention will be described.
図19は、本発明の第3の実施の形態における、登録処理の具体例を示す図である。ここでは、図19の初期状態のような、属性値情報151、影響値情報141、及び、属性列リスト121が、それぞれ、属性値記憶部150、影響値記憶部140、及び、リスト記憶部120に記憶されていると仮定する。
FIG. 19 is a diagram showing a specific example of registration processing in the third embodiment of the present invention. Here, as in the initial state of FIG. 19, the attribute value information 151, the influence value information 141, and the attribute column list 121 are respectively converted into an attribute
ここで、検索装置100が、図19のように、ワイルドカードの属性値を含む登録属性列600「a*f」を受信したと仮定する。この場合、対象属性インデックス「1」の属性値「*」は、属性値情報151に設定されていない(新たな属性値である)。リスト更新部110は、図19の状態1のように、属性値情報151において、対象属性インデックス「1」に属性値「*」を追加し、値インデックス「2」を付与する。リスト更新部110は、影響値情報141において、属性インデックス「0」、「1」、「2」の影響値として、それぞれ「6」、「2」、「1」を算出し、設定する。リスト更新部110は、対象属性インデックス「1」の属性値「*」を含む新たな属性列「a*e」、「a*f」、「b*e」、「b*f」を生成する。
Here, it is assumed that the search device 100 has received a registered attribute column 600 “a * f” including a wild card attribute value as shown in FIG. In this case, the attribute value “*” of the target attribute index “1” is not set in the attribute value information 151 (it is a new attribute value). The
リスト更新部110は、属性列「a*e」のリストインデックスとして「4」を算出する。リスト更新部110は、リストインデックス「4」の位置に属性列「a*e」を挿入する。リスト更新部110は、属性インデックス「1」について、リストインデックスを「2」、「0」の順に減じながら、合致判定を行う。また、リスト更新部110は、属性インデックス「2」について、リストインデックスを「3」に減じて、合致判定を行う。この結果、リスト更新部110は、リストインデックス「2」、「0」の属性列「ade」、「aae」を、属性列「a*e」に合致する属性列として抽出する。そして、リスト更新部110は、図19の状態2のように、ワイルドカード参照情報131に、参照元「0」、「2」に対して、参照先「4」を設定する。
The
リスト更新部110は、属性列「a*f」、「b*e」、「b*f」についても、同様に、図19の状態2のように、ワイルドカード参照情報131に、参照元、及び、参照先を設定する。
Similarly, the
次に、登録部160は、登録属性列600「a*f」のリストインデックスとして「5」を算出する。登録部160は、図19の状態2のように、リストインデックス「5」の位置に、登録属性列600「a*f」を登録する。
Next, the
次に、本発明の第3の実施の形態の検索処理について説明する。 Next, search processing according to the third embodiment of this invention will be described.
上述の検索処理(図14)のステップS303において、検索部190は、新たな検索属性列700に対応する属性列のリストインデックスを参照元とする参照先を、ワイルドカード参照情報131から取得する。さらに、検索部190は、取得した参照先を参照元とする参照先を、ワイルドカード参照情報131から取得することを繰り返す。これにより、新たな検索属性列700に合致する、ワイルドカードを含む属性列のリストインデックスが抽出される。
In step S <b> 303 of the above-described search process (FIG. 14), the
ステップS304において、検索部190は、新たな検索属性列700に対するリストインデックス、及び、取得した参照先のリストインデックスの位置に登録されている登録情報を取得する。ここで、例えば、参照先のリストインデックスの位置の登録情報として登録属性列600が設定されている場合、新たな検索属性列700に合致する、ワイルドカードを含む登録属性列600が登録されていることを意味する。
In step S304, the
ステップS305において、検索部190は、取得した登録情報を、検索結果として検索結果出力装置500に出力する。
In step S305, the
図20は、本発明の第3の実施の形態における、検索処理の具体例を示す図である。ここでは、図20のような、属性値情報151、影響値情報141、属性列リスト121、及び、検索結果181が、それぞれ、属性値記憶部150、影響値記憶部140、リスト記憶部120、及び、検索結果記憶部180に記憶されていると仮定する。また、図20のような、ワイルドカード参照情報131が、ワイルドカード参照記憶部130に記憶されていると仮定する。
FIG. 20 is a diagram illustrating a specific example of search processing according to the third embodiment of the present invention. Here, as shown in FIG. 20, the attribute value information 151, the influence value information 141, the attribute column list 121, and the search result 181 are respectively converted into an attribute
ここで、前回の検索属性列700「aae」、新たな検索属性列700「adf」に対して、検索装置100が、図20のような差分属性列800を受信したと仮定する。この場合、検索部190は、図20のように、前回の検索属性列700「aae」と新たな検索属性列700「adf」との間の距離として「3」を算出する。検索部190は、新たな検索属性列700「adf」に対応する属性列のリストインデックスとして「3」を算出する。さらに、検索部190は、参照元「3」に対する参照先「5」を取得する。そして、検索部190は、参照先「5」に登録されている登録情報「a*f」を出力する。さらに、検索部190は、検索結果181のリストインデックスを「3」で更新する。
Here, it is assumed that the search device 100 receives the difference attribute column 800 as shown in FIG. 20 for the previous search attribute column 700 “aae” and the new search attribute column 700 “adf”. In this case, the
以上により、本発明の第3の実施の形態の動作が完了する。 Thus, the operation of the third embodiment of the present invention is completed.
本発明の第3の実施の形態によれば、登録属性列600の属性値にワイルドカードを含む場合でも、検索を行うことができる。その理由は、検索部190が、ワイルドカード参照情報131を用いて、属性列リスト121における、新たな検索属性列700と合致する、ワイルドカードを含む属性列の位置を特定するためである。
According to the third embodiment of the present invention, a search can be performed even when a wild card is included in the attribute value of the registered attribute column 600. The reason is that the
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 While the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
本発明は、属性列の検索を行う検索装置やデータベースに適用できる。また、本発明は、属性列にユーザの状態情報を用いることにより、リアルタイムなマッチングが必要なコンシェルジュサービスやリアルタイム広告配信等の状況依存サービスに適用できる。 The present invention can be applied to a search device or a database that searches an attribute string. Further, the present invention can be applied to a situation-dependent service such as a concierge service that requires real-time matching and real-time advertisement distribution by using user status information in an attribute column.
100 検索装置
101 CPU
102 記憶手段
103 通信手段
104 入力手段
105 出力手段
110 リスト更新部
120 リスト記憶部
121 属性列リスト
130 ワイルドカード参照記憶部
131 ワイルドカード参照情報
140 影響値記憶部
141 影響値情報
150 属性値記憶部
151 属性値情報
160 登録部
180 検索結果記憶部
181 検索結果
190 検索部
300 登録属性列入力装置
400 検索属性列入力装置
500 検索結果出力装置
600 登録属性列
700 検索属性列
800 差分属性列
100
DESCRIPTION OF SYMBOLS 102 Memory | storage means 103 Communication means 104 Input means 105 Output means 110
Claims (10)
過去の検索属性列と新たな検索属性列との間の属性値の変化をもとに算出された、前記リストにおける前記過去の検索属性列に対応する属性列の位置と前記新たな検索属性列に対応する属性列の位置との間の距離をもとに、前記新たな検索属性列に対応する属性列の位置を特定する検索手段と、
を備え、
前記所定数の属性の各々において、とりうる属性値の各々にインデックスが付与され、
前記リストは、前記所定数の属性の各々のとりうる属性値の組み合わせに係る属性列をインデックスの順番に配置したリストであり、
前記検索手段は、前記所定数の属性の各々について算出した、前記過去の検索属性列と前記新たな検索属性列との間の当該属性に係る属性値のインデックスの変化量に、属性列における当該属性の次の属性から末尾の属性までの各々のとりうる属性値の数の積を乗じた値の総和により、前記距離を算出する、
情報処理装置。 Attribute column list storage means for storing a list of attribute columns in which attribute values of a predetermined number of attributes are arranged in a predetermined attribute order;
The position of the attribute column corresponding to the past search attribute column in the list and the new search attribute column calculated based on the change of the attribute value between the past search attribute column and the new search attribute column Search means for specifying the position of the attribute column corresponding to the new search attribute column based on the distance between the position of the attribute column corresponding to
Equipped with a,
In each of the predetermined number of attributes, an index is assigned to each possible attribute value,
The list is a list in which attribute columns related to combinations of attribute values that can be taken by each of the predetermined number of attributes are arranged in the order of indexes.
The search means calculates the change amount of the index of the attribute value related to the attribute between the past search attribute string and the new search attribute string calculated for each of the predetermined number of attributes in the attribute string. The distance is calculated by the sum of values multiplied by the product of the number of attribute values that can be taken from the next attribute to the last attribute.
Information processing device.
請求項1に記載の情報処理装置。 The search means acquires the position of the attribute column corresponding to the new search attribute column by adding the calculated distance to the position of the attribute column corresponding to the past search attribute column,
The information processing apparatus according to claim 1.
請求項1または2に記載の情報処理装置。 Further, when a new value is added to any attribute value that can be taken by any of the predetermined number of attributes, a new index is assigned to the new value, and the attribute value that can be taken by each of the predetermined number of attributes Including a list updating means for updating the list by adding an attribute column relating to the new combination of
The information processing apparatus according to claim 1 or 2 .
請求項3に記載の情報処理装置。 The list update means updates the position of the past search attribute string when the list is updated.
The information processing apparatus according to claim 3 .
さらに、前記リストにおけるワイルドカードを含む属性列の位置と当該属性列に合致する属性列の位置との関係を示す、ワイルドカード参照情報を記憶するワイルドカード参照記憶手段を含み、
前記検索手段は、前記ワイルドカード参照情報をもとに、前記新たな検索属性列に対応する属性列の位置に対する、当該属性列が合致するワイルドカードを含む属性列の位置を特定する、
請求項1乃至4のいずれかに記載の情報処理装置。 At least one possible attribute value of the predetermined number of attributes includes a wild card,
Furthermore, a wild card reference storage means for storing wild card reference information indicating a relationship between a position of an attribute column including a wild card in the list and a position of an attribute column matching the attribute column,
The search means specifies the position of an attribute column that includes a wildcard that matches the attribute column with respect to the position of the attribute column corresponding to the new search attribute column, based on the wild card reference information.
The information processing apparatus according to any one of claims 1 to 4.
前記検索手段は、前記新たな検索属性列の位置に関連付けられた前記登録属性列に係る情報を出力する、
請求項1乃至5のいずれかに記載の情報処理装置。 And registration means for associating information relating to the registration attribute column with a position corresponding to the registration attribute column in the list,
The search means outputs information related to the registered attribute string associated with the position of the new search attribute string;
The information processing apparatus according to any one of claims 1 to 5.
前記コンピュータに具備された検索手段が、過去の検索属性列と新たな検索属性列との間の属性値の変化をもとに算出された、前記リストにおける前記過去の検索属性列に対応する属性列の位置と前記新たな検索属性列に対応する属性列の位置との間の距離をもとに、前記新たな検索属性列に対応する属性列の位置を特定する、検索方法であって、
前記所定数の属性の各々において、とりうる属性値の各々にインデックスが付与され、
前記リストは、前記所定数の属性の各々のとりうる属性値の組み合わせに係る属性列をインデックスの順番に配置したリストであり、
前記検索手段は、前記新たな検索属性列に対応する属性列の位置を特定する場合、前記所定数の属性の各々について算出した、前記過去の検索属性列と前記新たな検索属性列との間の当該属性に係る属性値のインデックスの変化量に、属性列における当該属性の次の属性から末尾の属性までの各々のとりうる属性値の数の積を乗じた値の総和により、前記距離を算出する、
検索方法。 An attribute column list storage means provided in the computer stores a list of attribute columns in which attribute values of a predetermined number of attributes are arranged in a predetermined attribute order;
An attribute corresponding to the past search attribute string in the list, calculated by the search means provided in the computer based on a change in attribute value between the past search attribute string and the new search attribute string A search method for identifying a position of an attribute column corresponding to the new search attribute column based on a distance between a column position and an attribute column position corresponding to the new search attribute column ,
In each of the predetermined number of attributes, an index is assigned to each possible attribute value,
The list is a list in which attribute columns related to combinations of attribute values that can be taken by each of the predetermined number of attributes are arranged in the order of indexes.
In the case where the position of the attribute column corresponding to the new search attribute column is specified, the search unit calculates the interval between the past search attribute column and the new search attribute column calculated for each of the predetermined number of attributes. The sum of the values obtained by multiplying the amount of change in the index of the attribute value related to the attribute by the product of the number of attribute values that can be taken from the attribute next to the attribute in the attribute column to the last attribute is calculated as the distance. calculate,
retrieval method.
請求項7に記載の検索方法。 When specifying the position of the attribute string corresponding to the new search attribute string , the search means adds the calculated distance to the position of the attribute string corresponding to the past search attribute string, thereby The position of the attribute column corresponding to the search attribute column
The search method according to claim 7 .
所定数の属性の各々の属性値を所定の属性順で配置した属性列のリストを記憶し、
過去の検索属性列と新たな検索属性列との間の属性値の変化をもとに算出された、前記リストにおける前記過去の検索属性列に対応する属性列の位置と前記新たな検索属性列に対応する属性列の位置との間の距離をもとに、前記新たな検索属性列に対応する属性列の位置を特定する、処理を実行させるプログラムであって、
前記所定数の属性の各々において、とりうる属性値の各々にインデックスが付与され、
前記リストは、前記所定数の属性の各々のとりうる属性値の組み合わせに係る属性列をインデックスの順番に配置したリストであり、
前記新たな検索属性列に対応する属性列の位置を特定する場合、前記所定数の属性の各々について算出した、前記過去の検索属性列と前記新たな検索属性列との間の当該属性に係る属性値のインデックスの変化量に、属性列における当該属性の次の属性から末尾の属性までの各々のとりうる属性値の数の積を乗じた値の総和により、前記距離を算出する、
処理を実行させるプログラム。 On the computer,
Storing a list of attribute columns in which attribute values of a predetermined number of attributes are arranged in a predetermined attribute order;
The position of the attribute column corresponding to the past search attribute column in the list and the new search attribute column calculated based on the change of the attribute value between the past search attribute column and the new search attribute column A program for executing a process for identifying a position of an attribute column corresponding to the new search attribute column based on a distance between the attribute column and the position of the attribute column corresponding to
In each of the predetermined number of attributes, an index is assigned to each possible attribute value,
The list is a list in which attribute columns related to combinations of attribute values that can be taken by each of the predetermined number of attributes are arranged in the order of indexes.
When specifying the position of the attribute column corresponding to the new search attribute column, it relates to the attribute between the past search attribute column and the new search attribute column calculated for each of the predetermined number of attributes. The distance is calculated by the sum of values obtained by multiplying the change amount of the attribute value index by the product of the number of attribute values that can be taken from the attribute next to the end attribute in the attribute column.
A program that executes processing.
処理を実行させる、請求項9に記載のプログラム。The program according to claim 9, wherein the program is executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014001642A JP6281287B2 (en) | 2014-01-08 | 2014-01-08 | Information processing apparatus, search method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014001642A JP6281287B2 (en) | 2014-01-08 | 2014-01-08 | Information processing apparatus, search method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015130103A JP2015130103A (en) | 2015-07-16 |
JP6281287B2 true JP6281287B2 (en) | 2018-02-21 |
Family
ID=53760769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014001642A Active JP6281287B2 (en) | 2014-01-08 | 2014-01-08 | Information processing apparatus, search method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6281287B2 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2013108333A1 (en) * | 2012-01-18 | 2015-05-11 | 日本電気株式会社 | SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM |
JP5765253B2 (en) * | 2012-01-24 | 2015-08-19 | 富士通株式会社 | Area search method, area search program, and information processing apparatus |
-
2014
- 2014-01-08 JP JP2014001642A patent/JP6281287B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015130103A (en) | 2015-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111460311A (en) | Search processing method, device and equipment based on dictionary tree and storage medium | |
JP2017224184A (en) | Machine learning device | |
CN106095738B (en) | Recommending form fragments | |
KR100995861B1 (en) | Module and method for searching named entity of terms from the named entity database using named entity database and mining rule merged ontology schema | |
CN107004141A (en) | To the efficient mark of large sample group | |
CN111461301A (en) | Serialized data processing method and device, and text processing method and device | |
JP2019032704A (en) | Table data structuring system and table data structuring method | |
CN109858031B (en) | Neural network model training and context prediction method and device | |
CN109299443B (en) | News text duplication eliminating method based on minimum vertex coverage | |
JP6281287B2 (en) | Information processing apparatus, search method, and program | |
JP5565632B2 (en) | Map information output device and program | |
JP2010015394A (en) | Link destination presentation device and computer program | |
JP2021163477A (en) | Method, apparatus, electronic device, computer-readable storage medium, and computer program for image processing | |
JP6641456B2 (en) | Computer system and data classification method | |
JP5188290B2 (en) | Annotation apparatus, annotation method and program | |
JP6413597B2 (en) | Analysis program, analysis method, and analysis apparatus | |
JP2019125025A (en) | System, method for managing document data, and program | |
JP5305971B2 (en) | Abbreviation estimation apparatus and method | |
JP5701830B2 (en) | Document structure analysis apparatus and program | |
KR20150096848A (en) | Apparatus for searching data using index and method for using the apparatus | |
US11886459B2 (en) | Data management system and data management method | |
JP6292886B2 (en) | Layouting device, layouting method and layouting program | |
KR101077982B1 (en) | Apparatus and method for browsing documents using dynamic threshold | |
US20220100804A1 (en) | Data retrieving apparatus, method, and program | |
CN105930162A (en) | Subgraph search-based feature location method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170829 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171019 |
|
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: 20171226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180108 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6281287 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |