JP2008198236A - Structured document management system - Google Patents
Structured document management system Download PDFInfo
- Publication number
- JP2008198236A JP2008198236A JP2008137293A JP2008137293A JP2008198236A JP 2008198236 A JP2008198236 A JP 2008198236A JP 2008137293 A JP2008137293 A JP 2008137293A JP 2008137293 A JP2008137293 A JP 2008137293A JP 2008198236 A JP2008198236 A JP 2008198236A
- Authority
- JP
- Japan
- Prior art keywords
- index
- search
- unit
- structured document
- type
- 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 provides a structured document management system suitable for constructing an index of a structured document and storing it in the index storage means in order to speed up the search of the structured document stored in the structured document storage means. About.
近年、XML(Extensible Markup Language)に代表される、論理構造を有する構造化文書が普及している。構造化文書は、一般にディスク(ディスクドライブ)に配置されたデータベースに蓄積して利用される。 In recent years, structured documents having a logical structure represented by XML (Extensible Markup Language) have become widespread. Structured documents are generally stored and used in a database arranged on a disk (disk drive).
また、構造化文書の普及に伴い、1つまたは複数の構造化文書が蓄積されたデータベースから、ユーザの指定する検索条件に合致した文書または要素、属性、値などの情報を検索する情報検索システムが種々開発されている。この種の情報検索システムでは、検索対象の文書、更には文書内の要素や値などに、索引が付与されるのが一般的である(例えば、特許文献1参照)。 Further, with the spread of structured documents, an information retrieval system that retrieves information such as documents or elements, attributes, values, etc. that match a search condition specified by a user from a database in which one or more structured documents are accumulated Have been developed. In this type of information search system, an index is generally assigned to a document to be searched, and further to elements and values in the document (see, for example, Patent Document 1).
情報検索システムにおける構造化文書の検索では、構造、値またはそれらの組み合わせによる検索が行われる。この検索に適用される索引技術として、例えばNグラム(N−gram)を用いた索引技術(Nグラム索引技術)と、形態素解析を用いた索引技術(形態素索引技術)とが知られている。 In the retrieval of structured documents in the information retrieval system, retrieval is performed by structure, value, or a combination thereof. As an index technique applied to this search, for example, an index technique using N-gram (N-gram) (N-gram index technique) and an index technique using morphological analysis (morpheme index technique) are known.
Nグラム索引技術:
この技術では、文字列(値)の先頭から1文字ずつずらしながら、当該文字列を順にN文字(Nグラム)に区切り、この区切りにより生成された、それぞれN文字以下の文字列毎に索引(索引レコード)が作成される。これにより、例えばN=2で、値が“あいうえお”の場合であれば、“あ”/“あい”/“いう”/“うえ”/“えお”/“お”の6種類の索引(索引レコード)が作成される。この索引に対して、例えば“うえお”の部分文字列を含む値を検索する場合、まず索引をもとに、“うえ”と“えお”の位置を探索して、当該“うえ”と“えお”を含む文書と文書内の位置を特定し、それらが含まれる値の共通集合を検索結果の候補とする。
N-gram index technology:
In this technique, the character string is sequentially separated into N characters (N-grams) while being shifted one character at a time from the beginning of the character string (value), and an index ( Index record) is created. Thus, for example, if N = 2 and the value is “Aiueo”, six types of indexes “Ah” / “Ai” / “Nay” / “Up” / “Eo” / “O” ( Index record) is created. For example, when searching for a value including a partial character string “Ueo” for this index, first, based on the index, the positions of “Ue” and “Eo” are searched, and A document including “Eo” and a position in the document are specified, and a common set of values including these is set as a search result candidate.
形態素解析索引技術:
この技術では、値(文字列)から単語が抽出される。文字列を単語に区切る方法としては“形態素解析”が知られている。抽出された単語毎に、索引(索引レコード)が作成される。これにより、例えば“本日は晴天なり”の値に対しては、“本日”/“晴天”の2つの単語が抽出されて、それぞれ索引として作成される。この索引に対して、例えば“晴天”の部分文字列を検索する場合、まず索引をもとに“晴天”の位置を探索して、当該“晴天”を含む文書と文書内の位置を特定して検索結果の候補とする。
In this technique, a word is extracted from a value (character string). As a method of dividing a character string into words, “morpheme analysis” is known. An index (index record) is created for each extracted word. Thus, for example, for the value “Today is sunny”, two words “Today” / “Sunny” are extracted and created as indexes. For example, when searching for a partial character string of “sunny sky” with respect to this index, the position of “sunny sky” is first searched based on the index, and the document including the “sunny sky” and the position in the document are specified. Search result candidates.
上述した従来の情報検索システムで適用される索引技術、例えばNグラムを用いた索引技術においては、索引量の増加を招き、総索引のサイズが、実装によっては原文サイズの10倍を超える巨大なものとなることがある。この場合、文書更新に伴う索引更新のディスク更新量が増え、更新性能が劣化する。また、検索においても、検索内容によっては索引探索のために必要なディスク参照量が増え、参照性能(検索性能)も劣化する。更に索引サイズが巨大なため、それを納めるだけの大きなディスク容量を準備する必要がある。 In the index technology applied in the above-described conventional information retrieval system, for example, an index technology using N-grams, the index amount increases, and the total index size is a huge size exceeding 10 times the original text size depending on the implementation. It can be a thing. In this case, the disk update amount of the index update accompanying the document update increases, and the update performance deteriorates. Also in the search, depending on the search contents, the disk reference amount required for the index search increases, and the reference performance (search performance) also deteriorates. Furthermore, since the index size is huge, it is necessary to prepare a large disk capacity to accommodate it.
一方、形態素解析を用いた索引技術においては、形態素解析で抽出されないような文字列を検索条件とすることはできないことから、厳密な検索は行うことができない。前述の例では、「“なり”を含む値を取得する」といった検索が要求された場合、正しい結果を得ることができない。 On the other hand, in an index technique using morphological analysis, a character string that cannot be extracted by morphological analysis cannot be used as a search condition, so that a strict search cannot be performed. In the above example, when a search such as “acquire a value including“ nari ”” is requested, a correct result cannot be obtained.
通常のアプリケーションで使用される検索は、厳密な検索が必要な場合(前者)と、若干厳密性が損なわれても構わないか、もしくは意味を持つ単語以外での検索が必要ない場合(後者)の2種類に大別される。前者の検索には、Nグラムによる索引技術が必要となるが、後者の検索には形態素解析による索引技術でも十分である。 Searches used in normal applications require a strict search (the former), a slight strictness of the search, or a search other than a meaningful word (the latter) There are two main types. An index technique based on N-grams is required for the former search, but an index technique based on morphological analysis is sufficient for the latter search.
また本発明者は、検索全般について考えた場合、厳密な検索で対象とするのは、題目やキーワード、人名、地名といったコンテンツの属性や書誌情報に分類されるようなデータであり、一般に文字列長は短い場合が多いことを認識するに至った。このようなデータは、記述の仕方にルールがあるのが一般的である。これに対し、例えば書誌の本文といったコンテンツの本体に分類されるデータは、一般に文字列長は長い。このように、書誌本文のような長大なデータでタグで細かく意味付けされていないようなデータは、厳密な検索や単語にならない文字列での検索が意味を持たない場合が多い。 In addition, when the present inventor considers the search in general, the object of the strict search is data that is classified into content attributes and bibliographic information such as title, keyword, person name, and place name, and is generally a character string. I came to realize that the length is often short. Such data generally has a rule in the way of description. On the other hand, for example, data classified into a content body such as a bibliographic text generally has a long character string length. As described above, in the case of long data such as a bibliographic text that is not detailed with tags, a strict search or a search with a character string that does not become a word often has no meaning.
本発明は上記事情を考慮してなされたものでその目的は、要素毎に、その要素に適した種別の索引を構築することにより、良好な更新検索性能を維持しながら検索の厳密性を維持することができる、構造化文書管理システムを提供することにある。 The present invention has been made in consideration of the above circumstances, and its purpose is to maintain the strictness of search while maintaining good update search performance by constructing an index of a type suitable for each element for each element. It is to provide a structured document management system that can do this.
本発明の1つの観点によれば、構造化文書格納手段に格納された構造化文書の検索を高速化するために、構造化文書の索引を構築して索引格納手段に格納する構造化文書管理システムが提供される。このシステムは、外部から与えられる検索式を解析して検索条件を抽出し、その検索条件に合致する検索結果の候補の集合を取得する検索式処理手段と、前記構造化文書格納手段に格納された構造化文書に含まれる各要素毎に、当該要素に対して適用された前記検索式処理手段によって抽出された検索条件の履歴を取得する検索履歴取得手段と、索引を付与すべき、構造化文書に含まれる各要素毎に、前記検索履歴取得手段によって取得された、当該要素に対して適用された検索条件の履歴において最も多い検索種別に基づいて索引種別を決定する索引種別決定手段と、前記索引種別決定手段によって前記各要素毎に決定された索引種別に基づいて、当該要素に対応する当該決定された索引種別の索引を構築して前記索引格納手段に格納する索引構築手段とを備える。 According to one aspect of the present invention, in order to speed up retrieval of a structured document stored in a structured document storage unit, a structured document index is constructed and stored in the index storage unit. A system is provided. This system analyzes a search expression given from the outside, extracts a search condition, acquires a set of search result candidates that match the search condition, and is stored in the structured document storage means. For each element included in the structured document, search history acquisition means for acquiring a history of search conditions extracted by the search expression processing means applied to the element, and a structure to be indexed For each element included in the document, an index type determining unit that determines an index type based on the most frequently searched type in the history of search conditions applied to the element acquired by the search history acquiring unit; Based on the index type determined for each element by the index type determination unit, an index of the determined index type corresponding to the element is constructed and stored in the index storage unit. And a pull construction means.
上記したように、個々の要素に対して過去に適用された検索条件の履歴から、その検索条件を処理するのに適した索引種別を要素毎に選択して、その索引種別の索引を構築する構成とすることで、検索性能の向上を図ることができる。ここでは、例えば、完全一致型の検索条件の適用が多い場合は完全一致型の検索条件の処理に適したB木索引を選択的に構築し、部分一致型の検索条件の適用が多い場合には部分一致型の検索条件の処理に適したNグラム索引、或は形態素解析による単語索引といった全文検索用索引を選択的に構築すると良い。 As described above, an index type suitable for processing the search condition is selected for each element from the history of search conditions applied to individual elements in the past, and an index of the index type is constructed. With the configuration, the search performance can be improved. Here, for example, when exact match type search conditions are frequently applied, a B-tree index suitable for processing of complete match type search conditions is selectively constructed, and when partial match type search conditions are frequently applied. Is preferably constructed by selectively constructing an N-gram index suitable for partially matching type search condition processing or a full-text search index such as a word index by morphological analysis.
また、要素の名前から、その要素に対して適用される可能性の高い検索条件が推定可能であることに着目し、その推定される検索条件を処理するのに適した索引種別を要素毎に選択して、その索引種別の索引を構築する構成とすることでも、検索性能の向上を図ることができる。例えば、「日付」の要素名を持つ要素の値には完全一致型または大小比較型の検索条件の指定が予測されるためB木索引を選択的に構築し、「本文」の要素名を持つ要素の値には部分一致型の検索条件の指定が予想されるためNグラム索引や形態素解析による単語索引といった全文検索用索引を選択的に構築すると良い。 Also, focusing on the fact that it is possible to estimate search conditions that are highly likely to be applied to the element from the name of the element, an index type suitable for processing the estimated search condition is determined for each element. Search performance can also be improved by selecting and configuring an index of that index type. For example, a B-tree index is selectively constructed with an element name of “body” because the specification of a search condition of an exact match type or a size comparison type is predicted for an element value having an element name of “date”. Since partial match type search conditions are expected to be specified for element values, it is preferable to selectively construct an index for full text search such as an N-gram index or a word index based on morphological analysis.
また、構造化文書の構造(スキーマ)の指定の一部としてデータ型が与えられている場合は、要素の値のデータ型に応じて、そのデータ型を処理するのに適した索引種別の索引を構築する構成とすることでも、検索性能の向上を図ることができる。ここでは、例えば、数値型であれば数値型B木索引を選択的に構築し、バイナリ型であれば索引を構築しないことを選択し、文字列型であれば全文検索用索引を選択的に構築すると良い。
また、本発明の別の観点によれば、構造化文書格納手段に格納された構造化文書の検索を高速化するために、構造化文書の索引を構築して索引格納手段に格納する構造化文書管理システムが提供される。このシステムは、外部から与えられる検索式を解析して検索条件を抽出し、その検索条件に合致する検索結果の候補の集合を取得する検索式処理手段と、前記構造化文書格納手段に格納される構造化文書の、当該構造化文書に含まれる要素の値のデータ型を含む構造を指定するためのスキーマ指定手段と、索引を付与すべき、構造化文書に含まれる各要素のうち、前記スキーマ指定手段によって指定されている要素について、当該スキーマ指定手段によって指定されているデータ型に基づいて索引種別を決定する索引種別決定手段と、前記索引種別決定手段によって前記各要素毎に決定された索引種別に基づいて、当該要素に対応する当該決定された索引種別の索引を構築して前記索引格納手段に格納する索引構築手段とを備える。
In addition, if a data type is given as part of the structure (schema) specification of a structured document, an index of an index type suitable for processing the data type according to the data type of the element value Even with the configuration of constructing, the search performance can be improved. Here, for example, a numerical type B-tree index is selectively constructed for a numeric type, an index is not constructed for a binary type, and a full-text search index is selectively constructed for a character string type. It is good to build.
According to another aspect of the present invention, in order to speed up retrieval of a structured document stored in the structured document storage unit, a structured document index is constructed and stored in the index storage unit. A document management system is provided. This system analyzes a search expression given from the outside, extracts a search condition, obtains a set of search result candidates that match the search condition, and is stored in the structured document storage means. Among the elements included in the structured document to be indexed, the schema specifying means for specifying the structure including the data type of the value of the element included in the structured document. For the element specified by the schema specifying means, the index type determining means for determining the index type based on the data type specified by the schema specifying means, and the element determined by the index type determining means for each element. An index construction unit configured to construct an index of the determined index type corresponding to the element based on the index type and store the index in the index storage unit.
本発明によれば、検索に要求される厳密性は要素に依存することに着目し、要素毎に、その要素に適した種別の索引を構築することにより、良好な更新検索性能を維持しながら検索の厳密性を維持することができる。 According to the present invention, attention is paid to the fact that the strictness required for the search depends on the element, and by building an index of a type suitable for the element for each element, while maintaining good update search performance The strictness of search can be maintained.
以下、本発明の一実施形態につき図面を参照して説明する。
図1は本発明の一実施形態に係る情報検索システムの構成を示すブロック図である。この情報検索システムは、主として、データベース管理システム(Data Base Management System:DBMS)10と、構造化文書データベース(構造化文書DB)21と、Nグラム索引データベース(Nグラム索引DB)22と、単語索引データベース(単語索引DB)23と、B木(B*Tree)索引データベース(B木索引DB)24と、設定ファイル25と、索引種別辞書26と、ログファイル27とを備えている。構造化文書DB21と、Nグラム索引DB22、単語索引DB23及びB木索引DB24の各索引DBと、設定ファイル25と、索引種別辞書26と、ログファイル27とは、DBMS10からアクセス可能なデータ格納手段としての図示せぬディスクドライブ(ディスク)に置かれている。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of an information search system according to an embodiment of the present invention. This information retrieval system mainly includes a database management system (DBMS) 10, a structured document database (structured document DB) 21, an N-gram index database (N-gram index DB) 22, and a word index. A database (word index DB) 23, a B-tree (B * Tree) index database (B-tree index DB) 24, a
構造化文書DB21は、少なくとも1つの構造化文書(例えば、複数の構造化文書)の文書データを格納するのに用いられる。Nグラム索引DB22は、Nグラム索引技術(Nグラム索引方式)で作成された索引レコード(Nグラム索引)を格納するのに用いられ、単語索引DB23は、形態素解析索引技術(形態素解析索引方式)で作成された索引レコード(単語索引)を格納するのに用いられる。B木索引DB24は、キーの値とデータ自身との関係を保持する索引レコードに、索引レコードを効率的に検索するための階層的なインデックスレコード情報を付与することでB木を構成し、格納するのに用いられる。
The structured
設定ファイル25は、各要素の値の長さ(値長)から、その値の検索に適した索引の種別を決定するのに必要な文字列長閾値を予め設定しておくのに用いられる。索引種別辞書26は、構造化文書に含まれる各要素について、その要素の値を検索するのに適した索引種別(つまり索引方式)を設定するのに用いられる。ここでは、索引種別辞書26は、各要素の名前毎に、その名前(要素名)と、その要素名の要素の値を検索するのに適した索引種別とを組にして保持するのに用いられる。つまり索引種別辞書26は、各要素の要素名に対応付けて、その要素名の要素の値を検索するのに適した索引種別を保持するのに用いられる。ログファイル27は、構造化文書DB21に格納された構造化文書に含まれている、各要素の値をログ情報として蓄積するのに用いられる。なお、ログファイル27に、各要素の値の長さ(値長)がログ情報として蓄積される構成であっても構わない。
The setting
DBMS10は、構造化文書DB21、Nグラム索引DB22、単語索引DB23及びB木索引DB24の各DB(データベース)を管理する構造化文書管理システムである。DBMS10は、アクセス処理部11と、構造化文書管理部12と、検索エンジン13とから構成される。DBMS10は、計算機システムにインストールされたデータベース管理のためのソフトウェアプログラム(データベース管理プログラム)を当該計算機システム(内のCPU)が読み取って実行することにより実現される。このプログラムは、コンピュータで読み取り可能な記憶媒体(フロッピー(登録商標)ディスクに代表される磁気ディスク、CD−ROM、DVDに代表される光ディスク、フラッシュメモリに代表される半導体メモリ等)に予め格納して頒布可能である。また、このプログラムが、ネットワークを介してダウンロード(頒布)されても構わない。
The
アクセス処理部11は、図1の情報検索システムを利用するクライアント(クライアント端末)からの種々のDBアクセス要求を処理する。このクライアントが、図1の情報検索システムを実現する計算機の端末、または当該計算機とネットワークを介して接続された端末のいずれであっても構わない。アクセス処理部11は、アプリケーション30からの更新要求を受け付けて構造化文書管理部12に対して当該更新要求の示す更新処理(データ更新及び索引更新)を行わせる。ここでのデータ更新及び索引更新は、それぞれ新規データの格納及び索引の構築(作成)を含むものとする。また以降の説明では、索引の更新(再構築)を索引の構築で代表させることもある。アクセス処理部11はまた、アプリケーション30からの検索要求を受け付けて、検索エンジン13に対して当該検索要求の示す情報検索を行わせる。
The
構造化文書管理部12は、データ更新部14と索引管理部15とから構成される。データ更新部14は、アプリケーション30からの更新要求に応じて、構造化文書DB21を対象とする更新処理を行う。索引管理部15は、アプリケーション30からの更新要求に応じて、Nグラム索引DB22、単語索引DB23またはB木索引DB24に格納すべき索引の構築を管理する。この索引の構築には、説明の煩雑さを避けるため、Nグラム索引DB22、単語索引DB23またはB木索引DB24に格納されている索引の更新(再構築)の概念も含まれているものとする。索引管理部15は、Nグラム索引DB22、単語索引DB23またはB木索引DB24のいずれを対象とする索引の構築を行うかを、設定ファイル25、索引種別辞書26またはログファイル27の内容に基づいて決定する。
The structured
検索エンジン13は、データ検索部16と索引参照部17とから構成される。データ検索部16は、アプリケーション30からの検索要求に応じて、構造化文書DB21から検索要求に合致した構造化文書または構造化文書中の要素の値を検索する。このときデータ検索部16は、検索条件を索引参照部17に渡すことにより、その検索条件に合致した構造化文書または構造化文書中の要素の位置の集合(検索結果の候補の集合)を当該索引参照部17から受け取る。
The
図2は、図1中の構造化文書管理部12の構成を、各DB21〜24等と関連付けて示すブロック図である。構造化文書管理部12は前記したように、データ更新部14と索引管理部15とから構成される。索引管理部15は、文字列長閾値決定部151と、値抽出部152と、索引構築制御部153と、索引構築部154とから構成される。
FIG. 2 is a block diagram showing the structure of the structured
文字列長閾値決定部151は、データ更新部14によるデータ更新の対象となる文書(部分文書)中の要素の値の長さ(値長)から、その値の検索に適した索引の種別を決定するのに必要な文字列長閾値を決定する。文字列長閾値決定部151は、第1の閾値決定モードでは、設定ファイル25に設定されている文字列長閾値をそのまま目的の文字列長閾値として決定する。また文字列長閾値決定部151は、第2の閾値決定モードでは、構造化文書DB21に格納されている各構造化文書に含まれる各要素の値長の統計情報(分布)から、文字列長閾値を決定する。各要素の値長の情報は、ログファイル27に蓄積されている。
The character string length threshold
値抽出部152は、データ更新部14によるデータ更新の対象となる文書(部分文書)中の要素の値と、当該文書中の位置とを抽出する。索引構築制御部153は、第1の索引種別決定モードでは、値抽出部152によって抽出された要素の値の長さと、文字列長閾値決定部151によって決定された文字列長閾値とから、その値の検索に適した索引の種別(索引方式)を決定する。この第1の索引種別決定モードでは、索引構築時に、過去にログ情報に蓄積した各要素の値長の統計と閾値によって、格納される構造化文書の構造(スキーマ)の各要素に対して今後構築する索引の種別を予め決定しても良い。索引構築制御部153はまた、第2の索引種別決定モードでは、値抽出部152によって抽出された要素の名前と、索引種別辞書26とをもとに、その名前(要素名)の要素に適した索引の種別(索引方式)を決定する。索引構築制御部153は、索引構築部154を制御して、上記抽出された要素の値の検索に適した種別の索引を構築させる。索引構築制御部153は、索引の構築時には、対応する要素の値をログ情報としてログファイル27に蓄積する。
The value extraction unit 152 extracts the value of the element in the document (partial document) that is the target of data update by the
索引構築部154は、グラム(Gram)分割部155と、Nグラム索引更新部156と、形態素解析部157と、単語索引更新部158と、B木索引更新部159とを含む。グラム分割部155は、索引構築制御部153から要素の値と位置の情報を受けて、その値をNグラムに分割してグラム列を作成する。Nグラム索引更新部156は、作成されたグラム列と位置の情報とから、Nグラム索引DB22を対象としてNグラム索引を構築する。形態素解析部157は、索引構築制御部153から要素の値と位置の情報を受けて、その値(文字列)を形態素解析して単語を抽出する。単語索引更新部158は、抽出された単語と位置の情報とから、単語索引DB23を対象として単語索引を構築する。B木索引更新部159は、索引構築制御部153から要素の値と位置の情報を受けて、B木索引DB24を対象としてB木索引を構築する。
図3は、図1中の検索エンジン13の構成を、各DB21〜24等と関連付けて示すブロック図である。検索エンジン13は前記したように、データ検索部16と索引参照部17とから構成される。
FIG. 3 is a block diagram showing the configuration of the
データ検索部16は、検索式処理部161とデータ参照部162とを含む。検索式処理部161は、アプリケーション30からの検索要求の示す検索式を解析して、検索に必要な条件(つまり検索条件)を抽出し、その検索条件に合致する検索結果の候補の集合(構造化文書または構造化文書中の要素の位置の集合)を取得する。検索式処理部161はまた、検索結果の候補をデータ参照部162により構造化文書DB21から参照させる。
The
索引参照部17は、索引管理部15中の文字列長閾値決定部151と同様の文字列長閾値決定部171と、索引参照制御部172と、グラム分割部173と、Nグラム索引検索部174と、形態素解析部175と、単語索引検索部176と、B木索引検索部177とを含む。索引参照制御部172は、検索式処理部161から与えられる検索条件に含まれている文字列の長さと文字列長閾値決定部171によって決定される文字列長閾値とから、参照すべき索引の種別を判別する。索引参照制御部172は、判別された索引種別に対応する、グラム分割部173、形態素解析部175またはB木索引検索部177に検索条件を渡して、対応する索引を参照させる。グラム分割部173は、検索条件に含まれる文字列をNグラムに分割してグラム列を作成する。Nグラム索引検索部174は、作成されたグラム列に対応するNグラム索引レコードをNグラム索引DB22から検索し、その位置の情報を索引参照制御部172に返す。形態素解析部175は、検索条件に含まれる文字列を形態素解析して単語を抽出する。単語索引検索部176は、抽出された単語に対応する単語索引レコードを単語索引DB23から検索し、その位置の情報を索引参照制御部172に返す。B木索引検索部177は、検索条件に含まれる文字列に対応するB木索引レコードをB木索引DB24から検索し、その位置の情報を索引参照制御部172に返す。
The
図4は、図2中の索引構築制御部153の構成を示すブロック図である。この索引構築制御部153は、値長計算部153aと、比較部153bと、索引種別決定部153cとを含む。値長計算部153aは、値抽出部152によって抽出された要素の値の長さ(値長)を算出する。比較部153bは、比較部153bによって算出された値長を文字列長閾値決定部151によって決定された文字列長閾値とを比較する。索引種別決定部153cは、索引種別決定モードに固有の索引種別決定処理を行う。本実施形態では、第1の索引種別決定モードと第2の索引種別決定モードの2種類が用意されている。索引種別決定部153cは、第1の索引種別決定モードの場合、比較部153bの比較結果に応じて、対応する要素の値に適用する索引種別を決定する。また、第2の索引種別決定モードの場合には、索引種別決定部153cは、対応する要素の名前(要素名)で索引種別辞書26を参照することにより、その要素名の要素の値に適用する索引種別を決定する。
FIG. 4 is a block diagram showing the configuration of the index
次に、図1の情報検索システムにおける索引更新処理について、索引管理部15の動作を中心に、図5のフローチャートを参照して説明する。まず、ユーザの操作に従って、クライアント端末上のアプリケーション30から図1の情報検索システムに対して、データ追加、或はデータの上書き等の更新要求が送られたものとする。この更新要求は、DBMS10内のアクセス処理部11で受け付けられる。するとアクセス処理部11は、アプリケーション30からの更新要求を構造化文書管理部12内のデータ更新部14に通知する。
Next, index update processing in the information search system of FIG. 1 will be described with reference to the flowchart of FIG. First, it is assumed that an update request for adding data or overwriting data is sent from the application 30 on the client terminal to the information search system of FIG. This update request is accepted by the
データ更新部14は、通知された更新要求に従い、当該更新要求で指定されるデータ(文書データ)を構造化文書DB21に新たに格納する処理、或は当該更新要求で指定されるデータ(文書データまたは部分文書データ)で構造化文書DB21の対応するデータを更新する処理を行う。同時にデータ更新部14は、そのデータ(文書データまたは部分文書データ)を構造化文書DB21内の格納位置の情報と共に索引管理部15内の値抽出部152へ渡す。
In accordance with the notified update request, the
値抽出部152は、データ更新部14から渡されたデータから索引を付与すべき構造化文書の要素値を全て抽出する。この要素値の抽出には、構造化文書がXMLであれば、例えばXMLパーサを使用できる。値抽出部152は、データ更新部14から渡されたデータから抽出された全ての要素値を、構造化文書DB21内の格納位置の情報と共に索引構築制御部153へ渡す。
The value extraction unit 152 extracts all element values of the structured document to be indexed from the data passed from the
索引構築制御部153は、索引種別モードを判定する(ステップS1)。もし、索引種別モードとして第1の索引種別モードが指定されているならば、索引構築制御部153は文字列長閾値決定部151に対して文字列長閾値を決定することを要求する。すると文字列長閾値決定部151は、閾値決定モードを判定する(ステップS2)。
The index
もし、閾値決定モードとして第1の閾値決定モードが指定されているならば、文字列長閾値決定部151は、設定ファイル25に設定されている文字列長閾値を読み込んで、その閾値を索引構築制御部153が使用する文字列長閾値として決定する(ステップS3)。これに対し、閾値決定モードとして第2の閾値決定モードが指定されているならば、文字列長閾値決定部151は、ログファイル27に保存されているログ情報から、構造化文書DB21に格納された構造化文書に含まれている、各要素の値長の分布(統計情報)を算出する(ステップS4)。そして文字列長閾値決定部151は、各要素の値長の分布から、索引構築制御部153が使用する文字列長閾値を決定する(ステップS5)。このように第2の閾値決定モードでは、構造化文書DB21に格納された構造化文書に含まれている各要素に適した文字列長閾値が動的に決定される。本実施形態では、上記分布において、要素数を2等分する値長が文字列長閾値として決定される。しかし、文字列長閾値の決定の仕方は、これに限るものではない。
If the first threshold value determination mode is designated as the threshold value determination mode, the character string length threshold
閾値決定モードは、アクセス処理部11からの問い合わせに従うユーザの操作に応じて、アプリケーション30から指定可能である。また、索引種別モードも、ユーザの操作に応じて、アプリケーション30から指定可能である。更に、閾値決定モード、或は索引種別モードを、データベースの属性として予め保持することも可能である。本実施形態では、索引種別モードとして第1の索引種別モードが指定された場合に、閾値決定モードが有効となる。
The threshold value determination mode can be designated from the application 30 in accordance with a user operation in accordance with an inquiry from the
文字列長閾値決定部151によって決定された文字列長閾値は、索引構築制御部153へ渡される。索引構築制御部153内の値長計算部153aは、値抽出部152によって抽出された各要素の値毎に、その値の長さ、即ち値長を算出する。索引構築制御部153内の比較部153bは、値長計算部153aによって算出された各要素の値長毎に、その値長を文字列長閾値決定部171によって決定された文字列長閾値と比較する。そして比較部153bは、各要素の値長毎の比較結果を索引構築制御部153内の索引種別決定部153cへ渡す。なお、値長計算部153a及び比較部153bが、第1の索引種別モードが指定されている場合だけ動作する構成であっても構わない。
The character string length threshold value determined by the character string length threshold
索引種別決定部153cは、第1の索引種別モードが指定されている場合、比較部153bの比較結果に応じて、値抽出部152によって抽出された各要素の値毎に、その値に最適な索引種別を決定する。ここでは索引種別決定部153cは、要素の値の長さが文字列長閾値を超えているならば(ステップS6)、その値に最適な索引種別として単語索引を決定する(ステップS7)。この場合、索引種別決定部153cは、対応する要素の値と構造化文書DB21内の格納位置の情報との組を、形態素解析部157へ渡す(ステップS8)。これに対し、要素の値の長さが文字列長閾値以下であるならば(ステップS6)、索引種別決定部153cは、その値に最適な索引種別としてNグラム索引を決定する(ステップS9)。この場合、索引種別決定部153cは、対応する要素の値と構造化文書DB21内の格納位置の情報との組をグラム分割部155へ渡す(ステップS10)。
When the first index type mode is designated, the index
グラム分割部155は、索引種別決定部153cから要素の値(文字列)と格納位置の情報を渡された場合、当該要素の値(文字列)をNグラム(長さNの語彙)に分割してグラム列(Nグラムの集合)を作成する。グラム分割部155は、作成されたグラム列と格納位置の情報をNグラム索引更新部156へ渡す。Nグラム索引更新部156は、グラム列を構成する各グラムを、それぞれ格納位置の情報と組にして、それぞれNグラム索引(Nグラム索引レコード)として、Nグラム索引DB22に登録またはNグラム索引DB22内の対応する索引レコードを追加する。即ちNグラム索引更新部156は、Nグラム索引DB22を対象としてNグラム索引を構築する。
The
一方、形態素解析部157は、索引種別決定部153cから要素の値(文字列)と格納位置の情報を渡された場合、当該要素の値(文字列)を形態素解析して単語を抽出する。形態素解析部157は、抽出された単語の集合(単語集合)と格納位置の情報を単語索引更新部158へ渡す。単語索引更新部158は、単語集合中の各単語を、それぞれ格納位置の情報と組にして、それぞれ単語索引(単語索引レコード)として、単語索引DB23に登録または当該単語索引DB23内の対応する索引レコードを追加する。即ち単語索引更新部158は、単語索引DB23を対象として単語索引を構築する。
On the other hand, when the element value (character string) and the storage position information are passed from the index
上記したように本実施形態においては、図1の情報検索システムの索引種別モードとして第1の索引種別モードが指定されている場合(ステップSS1)、値抽出部152によって抽出された各要素の値毎に、その値の長さに応じて、その長さに最適な索引種別が決定される(ステップS6,S7,S9)。ここでは、値の長さが文字列長閾値以下であるならば、つまり値長が短いならば、その値(文字列)からNグラム索引の集合が生成されて、Nグラム索引DB22を対象とするNグラム索引の構築が行われる。これに対して、値の長さが文字列長閾値を超えているならば、つまり値長が長いならば、その値(文字列)から、単語索引の集合が生成されて、単語索引DB23を対象とする単語索引の構築が行われる。
As described above, in the present embodiment, when the first index type mode is designated as the index type mode of the information search system of FIG. 1 (step SS1), the value of each element extracted by the value extraction unit 152 Each time, the index type most suitable for the length is determined according to the length of the value (steps S6, S7, S9). Here, if the length of the value is equal to or less than the character string length threshold, that is, if the value length is short, a set of N-gram indexes is generated from the value (character string), and the N-
このように本実施形態では、第1の索引種別モードが指定されている場合、値長の短い要素値だけをNグラム索引の構築の対象としている。このため、Nグラム索引の短所である、データ量が膨大となるのを防止しながら、Nグラム索引の長所である厳密な検索に対応できる。また、第1の索引種別モードが指定されている場合、値長の長い要素値は、単語索引の構築の対象としている。このため、値長の長い要素値をNグラム索引の構築の対象とする場合に比べて、データ量が膨大となるのを防止できる。しかも、値長が長い要素値は、一般に厳密な検索や単語にならない文字列での検索が意味を持たない場合が多い。このため、値長が長い要素値を単語索引の構築の対象としても、当該単語索引の短所である、厳密な検索には向かないことによる不具合の発生を防止できる。 As described above, in the present embodiment, when the first index type mode is designated, only an element value having a short value length is set as an N-gram index construction target. Therefore, it is possible to cope with a strict search that is an advantage of the N-gram index while preventing an enormous amount of data, which is a disadvantage of the N-gram index. Further, when the first index type mode is designated, the element value having a long value length is set as a word index construction target. For this reason, it is possible to prevent the amount of data from becoming enormous as compared with the case where an element value having a long value length is set as an N-gram index construction target. Moreover, in general, element values having a long value length are often not meaningful for a strict search or a search using a character string that does not become a word. For this reason, even if an element value having a long value length is set as a word index construction target, it is possible to prevent the occurrence of problems due to the disadvantage of the word index, which is not suitable for strict search.
一方、第2の索引種別モードが指定されている場合(ステップS1)、索引種別決定部153cは、値抽出部152によって抽出された各要素毎に、その要素の名前、つまり要素名をキーにして索引種別辞書26を参照することで(ステップS11)、その要素名に対応して予め定められている索引種別を決定する(ステップS12)。ここで、例えば「日付」の要素名を持つ要素の値には、完全一致型または大小比較型の検索条件の指定が予測(推定)される。この完全一致型または大小比較型の検索条件の処理にはB木索引が適していることが知られている。また、「本文」の要素名を持つ場合は、部分一致型の検索条件の指定が予測される。この部分一致型の検索条件の処理には全文検索用索引、例えばNグラム索引または単語索引(つまり形態素解析による索引)が適していることが知られている。そこで、本実施形態の索引種別辞書26では、「日付」の要素名と組をなす索引種別としてB木索引が用いられ、「本文」の要素名と組をなす索引種別として全文検索用索引、例えばNグラム索引が用いられる。このNグラム索引に代えて、単語索引を用いることも可能である。また、「本文」の要素名と組をなす索引種別としてNグラム索引及び単語索引の2つを用い、上記第1の索引種別モードが指定されている場合と同様に、対応する要素の値長に応じて、当該Nグラム索引及び単語索引の一方が、実際に適用される索引種別として決定される構成とすることも可能である。
On the other hand, when the second index type mode is designated (step S1), the index
索引種別決定部153cは、上記ステップS12で決定された索引種別がB木索引の場合(ステップS13)、対応する要素の値と構造化文書DB21内の格納位置の情報との組をB木索引更新部159へ渡す(ステップS14)。B木索引更新部159は、この要素の値と位置の情報を受けて、B木索引DB24を対象としてB木索引を構築する。また索引種別決定部153cは、対応する要素の値と上記格納位置の情報との組を、ステップS12で決定された索引種別が単語索引であれば形態素解析部157へ渡し(ステップS8)、Nグラム索引であればグラム分割部155へ渡す(ステップS10)。
When the index type determined in step S12 is a B-tree index (step S13), the index
ところで、形態素解析部157が要素の値(文字列)を形態素解析した結果に、例えば「東京都」と「東」「京都」のように、2通り(複数通り)の解釈を持つ表記が含まれることがある。この場合、索引構築部154では、検索の漏れを防ぎ検索精度の劣化を防止するために、単語索引に代えて、Nグラム索引を構築するようにしても構わない。これに対し、形態素解析結果に1通りの解釈を持つ表記しか含まれない場合には、そのまま形態素解析を利用した単語索引を構築すればよい。
By the way, the result of the morphological analysis of the element value (character string) by the
この他、上述の「東京都」と「東」「京都」のように、2通り(複数通り)の解釈を持つ表記が含まれる場合に、これらの表記「東京都」「東」「京都」の全てを単語索引としても良い。 In addition, when there are notations having two (multiple) interpretations such as “Tokyo”, “East”, and “Kyoto” described above, these notations “Tokyo”, “East”, “Kyoto” All of these may be used as a word index.
また、要素の値(文字列)を形態素解析した結果に、意味は同じであるが表記が異なる単語が含まれている場合(例えば「呼び出し」と「呼びだし」など)には、いずれかの表記に統一して、単語索引とすると良い。この場合、検索処理時にも、検索対象の単語の表記を統一してから検索すれば良い。 Also, if the result of morphological analysis of the element value (character string) includes words that have the same meaning but different notation (for example, “call” and “call”), either The word index should be unified. In this case, it is only necessary to search after unifying the notation of the words to be searched during the search process.
次に、図1の情報検索システムにおける検索処理について説明する。まず、ユーザの操作に従って、クライアント端末上のアプリケーション30から図1の情報検索システムに対して、データの検索要求が送られたものとする。この検索要求は、DBMS10内のアクセス処理部11で受け付けられる。するとアクセス処理部11は、アプリケーション30からの検索要求を検索エンジン13内のデータ検索部16に通知する。
Next, search processing in the information search system of FIG. 1 will be described. First, it is assumed that a data search request is sent from the application 30 on the client terminal to the information search system of FIG. This search request is accepted by the
データ検索部16内の検索式処理部161は、通知された検索要求の指定する検索式を解析して要素値に関する検索条件(要素値検索条件)を抽出し、その要素値検索条件となる文字列を索引参照部17内の索引参照制御部172へ渡す。また検索式処理部161は、上記検索式から、要素値以外の検索条件、例えば構造検索条件も抽出する。
The search
一方、索引参照部17内の文字列長閾値決定部171は、索引種別モードとして第1の索引種別モードが指定されている場合、索引管理部15内の文字列長閾値決定部151と同様の手順で文字列長閾値を決定して、その文字列長閾値を索引参照制御部172へ渡す。
On the other hand, the character string length threshold
索引参照制御部172は、索引種別モードとして第1の索引種別モードが指定されている場合、検索式処理部161から渡された、要素値検索条件となる文字列に適合する索引種別を、当該文字列の長さと文字列長閾値決定部171から渡された文字列長閾値とに基づいて決定する。即ち索引参照制御部172は、要素値検索条件となる文字列の長さが閾値を超える場合は形態素解析部175へ当該文字列を与える。これに対して、要素値検索条件となる文字列の長さが閾値を超えない場合には、当該文字列を含む要素の値長は閾値を超えているかも知れないし、或は超えていないかもしれないことから、索引参照制御部172は、グラム分割部173及び形態素解析部175の両方へ当該文字列を与える。
When the first index type mode is designated as the index type mode, the index
グラム分割部173は、索引更新時のグラム分割部155と同様の動作により、要素値検索条件となる文字列をNグラムに分割してグラム列を生成し、そのグラム列をNグラム索引検索部174へ渡す。形態素解析部175も、索引更新時の形態素解析部157と同様の動作により、要素値検索条件となる文字列から単語を抽出して、抽出された単語の集合を単語索引検索部176へ渡す。
The
Nグラム索引検索部174は、グラム分割部173から渡された各グラム(語彙)でNグラム索引DB22を検索し、全てのグラム(語彙)を持つ文書の構造化文書DB21内格納位置を求める。つまりNグラム索引検索部174は、各グラム(語彙)の検索で得られる構造化文書DB21内格納位置の集合について、全ての集合からそれぞれ構造化文書DB21内格納位置を選択し入力グラム列の隣接関係を満たすかどうかを検査して、隣接関係を満たした場合は、その先頭のグラムの構造化文書DB21内格納位置を検索結果の集合として保持する。そしてNグラム索引検索部174は、得られた構造化文書DB21内格納位置の集合をNグラム索引検索結果として索引参照制御部172へ返答する。
The N-gram
一方、単語索引検索部176は、形態素解析部175から渡された各単語で単語索引DB23を検索し、全ての単語を持つ文書の構造化文書DB21内格納位置を求める。つまり単語索引検索部176は、各単語の検索で得られる構造化文書DB21内格納位置の集合を単語索引検索結果として索引参照制御部172へ返答する。
On the other hand, the word
次に、索引種別モードとして第2の索引種別モードが指定されている場合、索引参照制御部172は、検索式処理部161から渡された、要素値検索条件となる文字列に適合する索引種別を、索引更新時の索引構築制御部153(内の索引種別決定部153c)と同様の動作により、索引種別辞書26に従って決定する。索引参照制御部172は、索引種別としてB木索引を決定した場合、要素値検索条件となる文字列をB木索引検索部177へ渡す。B木索引検索部177は、索引参照制御部172から渡された文字列でB木索引DB24を検索し、B木の木構造のルートノードからリーフノードへ向けて、検索対象キーの大小関係をもとに順次ノードを辿り、リーフノードに到達したらリーフノードに含まれる検索対象キーに対応する構造化文書DB21内格納位置を全て求める。索引種別としてNグラム索引または単語索引が決定された場合の動作は、上記第1の索引種別モードが指定されている場合と同様である。
Next, when the second index type mode is designated as the index type mode, the index
索引参照制御部172は、Nグラム索引検索部174、単語索引検索部176及びB木索引検索部177のうち検索に用いたものから得られた各索引検索結果の集合から、もしそれが複数であればOR演算を行って重複を削除した上で、索引検索結果の候補集合として、構造化文書DB21内格納位置の集合を検索式処理部161に返答する。検索式処理部161は、索引参照制御部172から返された候補集合に基づき、データ参照部162へ構造化文書DB21内の各格納位置の情報を渡す。データ参照部162は、検索式処理部161から渡された構造化文書DB21内の各格納位置の情報に基づいて、それぞれ対応する構造化文書を特定して、当該検索式処理部161に返答する。検索式処理部161は、データ参照部162から返されたそれぞれの構造化文書を対象に、検索式から抽出された要素値以外の検索条件(構造検索条件)に合致しているか、更には指定の要素値が正しく含まれているかを確認する。そして検索式処理部161は、検索式に合致する構造化文書の集合を結果集合として、アクセス処理部11を経由してアプリケーション30に返答する。
The index
上記実施形態では、幾つかのモードと、そのモードに対応した索引種別決定機能、或は文字列長閾値決定機能とが用意されている。しかし、この種のモードを用意せずに、ある特定の索引種別決定機能、或は文字列長閾値決定機能のみが用意される構成であっても構わない。 In the above embodiment, several modes and an index type determination function or a character string length threshold determination function corresponding to the mode are prepared. However, a configuration in which only a specific index type determination function or a character string length threshold determination function is prepared without preparing this type of mode may be used.
また、上記実施形態では、ログファイル27には、構造化文書DB21に格納された構造化文書に含まれている各要素の値が、索引の構築時に索引構築制御部153によって蓄積される。しかし、特定の種別の検索条件、例えば完全一致型の検索条件に合致した構造化文書に含まれている要素の値のみがログファイル27に蓄積される構成としても良い。この場合、ログファイル27に蓄積された、完全一致型の検索条件に合致した構造化文書に含まれている要素の値の長さに基づいて、文字列長閾値を決定することで、上記実施形態と比べて索引種別の決定に一層適した文字列長閾値を決定できる。なお、完全一致型の検索条件に合致した構造化文書は、検索式処理部161によって確認されるため、当該構造化文書に含まれている要素の値をログファイル27に蓄積する処理は、当該検索式処理部161に行わせると良い。
In the above embodiment, the value of each element included in the structured document stored in the structured
また、個々の要素に対して適用された検索条件を当該要素に対応付けて、例えば検索式処理部161がログファイル27に蓄積する構成としても良い。この場合、索引構築制御部153内の索引種別決定部153cは、値抽出部152によって抽出された要素に対応付けてログファイル27に蓄積されている検索式の履歴、即ち当該要素に対して過去に適用された検索条件の履歴に基づいて、その要素の値に適した索引種別を決定することが可能となる。例えば、ある要素に対して適用された検索条件として、完全一致型の検索条件が最も多い場合、その完全一致型の検索条件の処理に適したB木索引を、当該要素に適用する索引種別として決定すると良い。また、部分一致型の検索条件が最も多く適用された要素に対しては、部分一致型の検索条件の処理に適した、Nグラム索引または単語索引に代表される全文検索用索引を適用すると良い。これにより、検索性能を向上できる。
Further, the search condition applied to each element may be associated with the element, and the search
さて、要素の値のデータ型によっても、その要素に適した索引の種別は異なる。そこで、構造化文書の構造(スキーマ)の指定の一部としてデータ型が与えられている場合は、要素の値のデータ型に応じて、そのデータ型を処理するのに適した索引の種別が、例えば索引種別決定部153cによって決定される構成とすることでも、検索性能を向上できる。ここでは、例えば数値型であれば数値型のB木索引を、文字列型であれば全文検索用索引を、それぞれ対応する要素に適用すると良い。また、バイナリ型は、対応する要素を索引構築の対象外とすると良い。
Now, the type of index suitable for an element varies depending on the data type of the element value. Therefore, if a data type is given as part of the structure (schema) specification of a structured document, the index type suitable for processing that data type is determined according to the data type of the element value. For example, the search performance can also be improved by adopting a configuration determined by the index
また、特定の要素に対する検索条件として、複数の異なる検索条件が適用されることがある。そこで複数の異なる検索条件の各々に適した索引種別を索引種別決定部153cが決定して、その種別の索引を、同一の要素の値に対して索引構築部154によってそれぞれ構築させておき、検索時に検索条件が与えられた場合に、その検索条件の処理に適した索引を索引参照制御部172が選択する構成とすることも可能である。例えば、同一の要素の値に対して適用される検索条件に部分一致型の検索条件と大小比較型の検索条件とが混在するような場合には、全文検索用索引だけでは大小比較を行うことはできないし、B木索引では部分一致検索を行うことはできない。このような場合に、上記要素に対して全文検索用索引とB木索引の両方を構築しておき、部分一致検索の場合には全文検索用索引を、大小比較の場合にはB木索引を、それぞれ選択して使用するならば、両方の検索条件を高速に処理できる。
A plurality of different search conditions may be applied as search conditions for a specific element. Therefore, the index
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。 Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Further, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment.
10…データベース管理システム(DBMS、構造化文書管理システム)、12…構造化文書管理部、13…検索エンジン、14…データ更新部、15…索引管理部、16…データ検索部、17…索引参照部、21…構造化文書データベース(構造化文書格納手段)、22…Nグラム索引データベース(索引格納手段)、23…単語索引データベース(索引格納手段)、24…B木索引データベース(索引格納手段)、25…設定ファイル(設定手段)、26…索引種別辞書(索引種別格納手段)、27…ログファイル、151,171…文字列長閾値決定部、152…値抽出部、153…索引構築制御部、153a…値長計算部、153b…比較部、153c…索引種別決定部、154…索引構築部、161…検索式処理部、172…索引参照制御部(索引選択手段)。
DESCRIPTION OF
Claims (1)
外部から与えられる検索式を解析して検索条件を抽出し、その検索条件に合致する検索結果の候補の集合を取得する検索式処理手段と、
前記構造化文書格納手段に格納される構造化文書の、当該構造化文書に含まれる要素の値のデータ型を含む構造を指定するためのスキーマ指定手段と、
索引を付与すべき、構造化文書に含まれる各要素のうち、前記スキーマ指定手段によって指定されている要素について、当該スキーマ指定手段によって指定されているデータ型に基づいて索引種別を決定する索引種別決定手段と、
前記索引種別決定手段によって前記各要素毎に決定された索引種別に基づいて、当該要素に対応する当該決定された索引種別の索引を構築して前記索引格納手段に格納する索引構築手段と
を具備することを特徴とする構造化文書管理システム。 In a structured document management system that builds an index of a structured document and stores it in the index storage means in order to speed up retrieval of the structured document stored in the structured document storage means,
A search expression processing means for analyzing a search expression given from the outside, extracting a search condition, and acquiring a set of search result candidates that match the search condition;
Schema designating means for designating a structure of the structured document stored in the structured document storage means, including a data type of an element value included in the structured document;
Among the elements included in the structured document to be indexed, the index type for determining the index type based on the data type specified by the schema specifying unit for the element specified by the schema specifying unit A determination means;
An index construction unit configured to construct an index of the determined index type corresponding to the element based on the index type determined for each element by the index type determination unit and store the index in the index storage unit. A structured document management system characterized by:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008137293A JP2008198236A (en) | 2008-05-26 | 2008-05-26 | Structured document management system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008137293A JP2008198236A (en) | 2008-05-26 | 2008-05-26 | Structured document management system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007272912A Division JP4160627B2 (en) | 2007-10-19 | 2007-10-19 | Structured document management system and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008198236A true JP2008198236A (en) | 2008-08-28 |
Family
ID=39757041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008137293A Pending JP2008198236A (en) | 2008-05-26 | 2008-05-26 | Structured document management system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008198236A (en) |
-
2008
- 2008-05-26 JP JP2008137293A patent/JP2008198236A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11853334B2 (en) | Systems and methods for generating and using aggregated search indices and non-aggregated value storage | |
JP5492187B2 (en) | Search result ranking using edit distance and document information | |
US8301437B2 (en) | Tokenization platform | |
US20100094835A1 (en) | Automatic query concepts identification and drifting for web search | |
JP4237813B2 (en) | Structured document management system | |
US20120124060A1 (en) | Method and system of identifying adjacency data, method and system of generating a dataset for mapping adjacency data, and an adjacency data set | |
US8229970B2 (en) | Efficient storage and retrieval of posting lists | |
US8001138B2 (en) | Word relationship driven search | |
US20110252313A1 (en) | Document information selection method and computer program product | |
JP2008083769A (en) | Document search apparatus and method | |
JP4091586B2 (en) | Structured document management system, index construction method and program | |
JP4439496B2 (en) | Search processing apparatus and program | |
JP4160627B2 (en) | Structured document management system and program | |
JP4304226B2 (en) | Structured document management system, structured document management method and program | |
JP2008026964A (en) | Retrieval processor and program | |
JP2008198236A (en) | Structured document management system | |
US20110022591A1 (en) | Pre-computed ranking using proximity terms | |
JP2013125429A (en) | Analysis object determination device | |
JP5906810B2 (en) | Full-text search device, program and recording medium | |
JP4206266B2 (en) | Full-text search device, processing method, processing program, and recording medium | |
JP4521413B2 (en) | Database management system and program | |
JP2007133682A (en) | Full text retrieval system and full text retrieval method therefor | |
JP2005063366A (en) | Information management apparatus and information management method | |
JPH09212523A (en) | Entire sentence retrieval method | |
JP5145202B2 (en) | Document search apparatus and document search program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081216 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090428 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090617 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090908 |