JP2008217596A - 文書検索システム及びプログラム - Google Patents
文書検索システム及びプログラム Download PDFInfo
- Publication number
- JP2008217596A JP2008217596A JP2007056145A JP2007056145A JP2008217596A JP 2008217596 A JP2008217596 A JP 2008217596A JP 2007056145 A JP2007056145 A JP 2007056145A JP 2007056145 A JP2007056145 A JP 2007056145A JP 2008217596 A JP2008217596 A JP 2008217596A
- Authority
- JP
- Japan
- Prior art keywords
- character string
- common part
- document
- stored
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】共通部文字列検出部64は、文字列索引のページ毎に、当該ページ内に格納されるべき文字列の間で、先頭から共通する一定文字数を上限とする共通部文字列を検出する。共通部文字列長管理部620は、検出された共通部文字列の文字列長を表す共通部文字列長情報を、当該共通部文字列が検出されたページに対応付けて文字列索引に格納して管理する。レコード処理部63は、ページ内に格納されるべき文字列のうち、先頭文字列については当該先頭文字列の先頭から一定文字数を上限とする文字列をページ内の先頭位置に格納し、残りの文字列については検出された共通部文字列に後続する一定文字数を上限とする文字列をページ内の該当位置に格納する。
【選択図】 図3B
Description
図1は本発明の一実施形態に係るクライアント−サーバシステムのハードウェア構成を示すブロック図である。クライアント−サーバシステムは、主として、データベースサーバ(データベースサーバコンピュータ)10と、複数のクライアント端末とから構成される。複数のクライアント端末はクライアント端末20を含む。クライアント端末20上では、データベースサーバ10を利用するアプリケーション(アプリケーションプログラム)が動作する。クライアント端末20を含む複数のクライアント端末は、ローカルエリアネットワーク(LAN)のようなネットワーク30を介してデータベースサーバ10と接続されている。なお、図1にはクライアント端末20以外のクライアント端末は省略されている。
まず本実施形態では、図1に示されるデータベースサーバ10が有する主メモリのようなメモリ(図示せず)内に、新規レコード用の一時領域が確保されているものとする。この一時領域は、文書位置フィールド211、文字列長フィールド212及び文字列フィールド213を有する。
まず共通部文字列長増加部622は、処理対象レコードの位置を表す変数iに初期値1を代入する(ステップS61)。次に共通部文字列長増加部622は、変数iが、ページPのヘッダのレコード数フィールド202の値(レコード数)よりも小さいかを判定する(ステップS62)。
次に、上記実施形態の第1の変形例について説明する。
上記実施形態では、共通部文字列長増加処理において、レコードiの文字列の左シフトで生じた、当該レコードiの文字列フィールド213の空き領域に終端文字が格納される。この場合、レコードiは、最高でも当該レコードiが指す文書の先頭からL×2文字までの情報を保持することができない。
次に、上記実施形態の第2の変形例について説明する。
上記実施形態では、共通部文字列は、同一ページ内の先頭のレコード0(が指す文書)の文字列を基準に、ヘッダの共通部文字列長フィールド203と当該レコード0の文字列フィールド213とによって、当該ページ内の全レコードに共通の文字列(共通部文字列)が管理される。この場合、ページ内の例えば1つのレコードが指す文書の文字列によって、共通部文字列長が制限される可能性がある。図4の例では、文書番号2の文書の格納時には、当該文書の文字列「ABG」により、共通部文字列長が格納可能文字列長Lに一致する「3」から「2」に減少する。
図12(a)は、ページPにおけるヘッダ及びレコードのフォーマットを示す。図12の例では、ヘッダには共通部文字列長フィールドが存在せず、各レコードに共通部文字列長フィールド210が設けられている。
そこで時刻t2では、レコード2に先行するレコード1が実質的に保持している文字列「ABCDEF」と、当該レコード2に対応する文書(文書番号2の文書)の内容「ABG」とが先頭文字から順に比較される。この比較により、隣接するレコード1及び2(がそれぞれ指す文書)に共通な文字列(共通部文字列)は「AB」であると認識される。この場合、レコード1の共通部文字列長フィールド210の値は図12(d)に示されるように「2」に変更される。このとき、レコード0の共通部文字列長フィールド210の値は変更されない点に注意する。なお、時刻t1では、レコード1の共通部文字列長フィールド210に値を格納せずに、時刻t2で、当該フィールド210に共通部文字列長として「2」を格納しても良い。
Claims (8)
- 文字列索引格納手段に格納された、一定の文字列数を上限とする単位に分割して管理される文字列索引であって、文書格納手段に格納される文書から抽出された文字列が、当該文書に対応付けて、且つ当該文字列を構成する文字の順序に基づいて順序付けされた配列で格納された文字列索引を利用して、文字列をキーとした文書検索を行う文書検索システムにおいて、
前記単位毎に、前記文書格納手段に格納される文書から抽出された当該単位内に格納されるべき文字列の間で、先頭から共通する予め定められた一定文字数を上限とする文字列を共通部文字列として検出する共通部文字列検出手段と、
前記検出された共通部文字列の文字列長を表す共通部文字列長情報を、当該共通部文字列が検出された前記単位に対応付けて前記文字列索引に格納して管理する共通部文字列長管理手段と、
前記単位内に格納されるべき文字列のうち、先頭文字列については当該先頭文字列の先頭から前記一定文字数を上限とする文字列を前記単位内の該当位置に格納し、残りの文字列については前記検出された共通部文字列に後続する前記一定文字数を上限とする文字列を前記単位内の該当位置に格納する文字列処理手段と、
前記単位内の先頭位置に格納されている文字列と当該単位に対応付けて前記文字列索引に格納されている共通部文字列長情報とに基づいて、当該共通部文字列長情報の示す前記共通部文字列を取得して、当該共通部文字列の後ろに当該単位内の前記先頭位置以外の位置に格納されている文字列を連結することにより、当該単位内の前記先頭位置以外の位置に本来格納されるべき文字列を復元して、文字列をキーとした文書検索を行う検索手段と
を具備することを特徴とする文書検索システム。 - 前記文書格納手段に格納される文書から抽出された文字列と前記文字列索引に格納されている文字列との順序関係を判定することにより、前記抽出された文字列が挿入されるべき前記文字列索引内の位置を決定する文字列順序判定手段とを更に具備し、
前記共通部文字列検出手段は、前記決定された位置が存在する前記単位内の先頭位置に格納されている文字列と前記抽出された文字列との間で先頭から共通する文字列の文字列長を新共通部文字列長として検出し、
前記共通部文字列長管理手段は、前記検出された新共通部文字列長が当該新共通部文字列長に対応する現在の共通部文字列長以上である場合に、当該現在の共通部文字列長をそのまま最新の共通部文字列長とし、
前記文字列処理手段は、前記決定された位置が存在する前記単位内に格納されている、当該決定された位置以降の文字列をそれぞれ次の位置へ移動して、当該決定された位置に、前記抽出された文字列の先頭から前記最新の共通部文字列長の文字列を除いた残りの文字列のうち、先頭から前記一定文字数を上限とする文字列を格納する文字列挿入手段を含む
ことを特徴とする請求項1記載の文書検索システム。 - 前記文字列処理手段は、前記検出された新共通部文字列長が前記現在の共通部文字列長未満である場合に、前記決定された位置が存在する前記単位内の先頭位置の文字列を除く文字列を変更する文字列変更手段を含み、
前記共通部文字列長管理手段は、前記検出された新共通部文字列長が前記現在の共通部文字列長未満ある場合に、当該現在の共通部文字列長を前記検出された新共通部文字列長に変更して当該変更後の共通部文字列長を最新の共通部文字列長とする共通部文字列長減少手段を含む
ことを特徴とする請求項2記載の文書検索システム。 - 前記文字列変更手段は、前記決定された位置が存在する前記単位内の先頭位置の文字列を除く文字列を、前記現在の共通部文字列長と前記検出された新共通部文字列長との差分で示される文字数だけ右へシフトし、当該シフトで空きとなった文字数分の領域に、当該先頭位置の文字列の先頭から前記現在の共通部文字列長の文字列のうち終端側の当該文字数分の文字を格納することを特徴とする請求項3記載の文書検索システム。
- 前記文字列処理手段は、前記文書格納手段に格納されている文書の削除時に、当該削除される文書に対応付けられている文字列が格納されている前記単位内の位置より後ろの文字列をそれぞれ前の位置へ移動することにより、当該削除される文書に対応付けられている文字列を削除する文字列削除手段を含み、
前記共通部文字列検出手段は、前記削除された文字列が存在していた前記単位内の先頭位置の文字列の先頭から前記現在の共通部文字列長の文字列を除いた残りの文字列と当該先頭位置の文字列を除く当該単位内の文字列との間の先頭から共通する文字列の文字数を検出し、
前記共通部文字列長管理手段は、前記検出された文字数に基づいて前記現在の共通部文字列長を前記一定長を上限に変更して当該変更後の共通部文字列長を最新の共通部文字列長とする共通部文字列長増加手段を含み、
前記文字列変更手段は、前記削除された文字列が存在していた前記単位内の先頭位置の文字列を除く文字列を、前記検出された共通部文字列と前記現在の共通部文字列長との差分で示される文字数だけ左へシフトする
ことを特徴とする請求項3記載の文書検索システム。 - 前記文書格納手段に格納されている文書を読み込む文書読込手段を更に具備し、
前記文字列処理手段は、前記文書格納手段に格納されている文書の削除時に、当該削除される文書に対応付けられている文字列が格納されている前記単位内の位置より後ろの文字列をそれぞれ前の位置へ移動することにより、当該削除される文書に対応付けられている文字列を削除する文字列削除手段を含み、
前記共通部文字列検出手段は、前記削除された文字列が存在していた前記単位内の先頭位置の文字列の先頭から前記現在の共通部文字列長の文字列を除いた残りの文字列と当該先頭位置の文字列を除く当該単位内の文字列との間の先頭から共通する文字列の文字数を検出し、
前記共通部文字列長管理手段は、前記検出された文字数に基づいて前記現在の共通部文字列長を前記一定長を上限に変更して当該変更後の共通部文字列長を最新の共通部文字列長とする共通部文字列長増加手段を含み、
前記文書読込手段は、前記削除された文字列が存在していた前記単位内の先頭位置の文字列を除く文字列に対応付けられている文書のうち、文字列長が、前記共通部文字列長増加手段による変更前の共通部文字列長に当該先頭位置の文字列を除く文字列の文字列長を加えた加算長を超えている文書を読み込み、
前記文字列変更手段は、前記読み込まれた文書に対応付けられている前記単位内の文字列の位置に、当該文書の文字列の先頭から前記最新の共通部文字列長の文字列を除いた残りの文字列のうち先頭から前記一定文字数を上限とする文字列を格納する一方、文字列長が前記加算長以下の文書に対応付けられている前記単位内の文字列を、前記検出された共通部文字列と前記現在の共通部文字列長との差分で示される文字数だけ左へシフトする
ことを特徴とする請求項3記載の文書検索システム。 - 文字列索引格納手段に格納された文字列索引であって、文書格納手段に格納される文書から抽出された文字列が、当該文書に対応付けて且つ当該文字列を構成する文字の順序に基づいて順序付けされた配列で格納された文字列索引を利用して、文字列をキーとした文書検索を行う文書検索システムにおいて、
文書格納手段に格納される文書から抽出された、前記文字列索引に格納されるべき隣接する文字列毎に、先頭から共通する予め定められた一定文字数を上限とする文字列を共通部文字列として検出する共通部文字列検出手段と、
前記検出された共通部文字列の文字列長を表す共通部文字列長情報を、当該共通部文字列が検出された前記隣接する文字列が格納されるべき前記文字列索引の位置に対応付けて前記文字列索引に格納して管理する共通部文字列長管理手段と、
前記文字列索引に格納されるべき隣接する文字列のうち、先頭文字列については当該先頭文字列の先頭から前記一定文字数を上限とする文字列を前記文字列索引の該当位置に格納し、後続の文字列については前記検出された共通部文字列に後続する前記一定文字数を上限とする文字列を前記文字列索引の該当位置に格納する文字列処理手段と、
前記文字列索引の第1の位置に先行する第2の位置が存在する場合、前記第2の位置に格納されている文字列と前記第1の位置及び前記第2の位置に対応付けて前記文字列索引に格納されている前記共通部文字列長情報とに基づいて、当該共通部文字列長情報の示す前記共通部文字列を取得して、当該共通部文字列の後ろに前記第1の位置に格納されている文字列を連結することにより、前記第1の位置に本来格納されるべき文字列を復元して、文字列をキーとした文書検索を行う検索手段と
を具備することを特徴とする文書検索システム。 - 文字列索引格納手段に格納された、一定の文字列数を上限とする単位に分割して管理される文字列索引であって、文書格納手段に格納される文書から抽出された文字列が、当該文書に対応付けて、且つ当該文字列を構成する文字の順序に基づいて順序付けされた配列で格納された文字列索引を利用して、文字列をキーとした文書検索を行うコンピュータを、
前記単位毎に、前記文書格納手段に格納される文書から抽出された当該単位内に格納されるべき文字列の間で、先頭から共通する予め定められた一定文字数を上限とする文字列を共通部文字列として検出する共通部文字列検出手段と、
前記検出された共通部文字列の文字列長を表す共通部文字列長情報を、当該共通部文字列が検出された前記単位に対応付けて前記文字列索引に格納して管理する共通部文字列長管理手段と、
前記単位内に格納されるべき文字列のうち、先頭文字列については当該先頭文字列の先頭から前記一定文字数を上限とする文字列を前記単位内の該当位置に格納し、残りの文字列については前記検出された共通部文字列に後続する前記一定文字数を上限とする文字列を前記単位内の該当位置に格納する文字列処理手段と、
前記単位内の先頭位置に格納されている文字列と当該単位に対応付けて前記文字列索引に格納されている共通部文字列長情報とに基づいて、当該共通部文字列長情報の示す前記共通部文字列を取得して、当該共通部文字列の後ろに当該単位内の前記先頭位置以外の位置に格納されている文字列を連結することにより、当該単位内の前記先頭位置以外の位置に本来格納されるべき文字列を復元して、文字列をキーとした文書検索を行う検索手段
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007056145A JP4510041B2 (ja) | 2007-03-06 | 2007-03-06 | 文書検索システム及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007056145A JP4510041B2 (ja) | 2007-03-06 | 2007-03-06 | 文書検索システム及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008217596A true JP2008217596A (ja) | 2008-09-18 |
JP4510041B2 JP4510041B2 (ja) | 2010-07-21 |
Family
ID=39837539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007056145A Expired - Fee Related JP4510041B2 (ja) | 2007-03-06 | 2007-03-06 | 文書検索システム及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4510041B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011138365A (ja) * | 2009-12-28 | 2011-07-14 | Yahoo Japan Corp | 用語抽出装置、方法及び用語辞書のデータ構造 |
CN117453853A (zh) * | 2023-12-26 | 2024-01-26 | 天津南大通用数据技术股份有限公司 | 一种基于bw树的超长字符串跨页索引方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5858682A (ja) * | 1981-10-02 | 1983-04-07 | Canon Inc | 電子機器 |
JPS62212726A (ja) * | 1986-03-13 | 1987-09-18 | Fujitsu Ltd | インデツクスキー圧縮処理方法 |
JPH03127254A (ja) * | 1989-10-13 | 1991-05-30 | Matsushita Electric Ind Co Ltd | 単語検索装置 |
JPH04209069A (ja) * | 1990-12-03 | 1992-07-30 | Nec Corp | 前方一致文字列検索方式 |
JPH0554077A (ja) * | 1991-08-29 | 1993-03-05 | Nec Corp | 単語辞書検索装置 |
JPH08180069A (ja) * | 1994-12-26 | 1996-07-12 | Sharp Corp | 単語辞書検索装置 |
JPH09212523A (ja) * | 1996-01-30 | 1997-08-15 | Oki Electric Ind Co Ltd | 全文検索方法 |
JP2004062475A (ja) * | 2002-07-29 | 2004-02-26 | Hitachi Ltd | インデクス格納方法 |
-
2007
- 2007-03-06 JP JP2007056145A patent/JP4510041B2/ja not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5858682A (ja) * | 1981-10-02 | 1983-04-07 | Canon Inc | 電子機器 |
JPS62212726A (ja) * | 1986-03-13 | 1987-09-18 | Fujitsu Ltd | インデツクスキー圧縮処理方法 |
JPH03127254A (ja) * | 1989-10-13 | 1991-05-30 | Matsushita Electric Ind Co Ltd | 単語検索装置 |
JPH04209069A (ja) * | 1990-12-03 | 1992-07-30 | Nec Corp | 前方一致文字列検索方式 |
JPH0554077A (ja) * | 1991-08-29 | 1993-03-05 | Nec Corp | 単語辞書検索装置 |
JPH08180069A (ja) * | 1994-12-26 | 1996-07-12 | Sharp Corp | 単語辞書検索装置 |
JPH09212523A (ja) * | 1996-01-30 | 1997-08-15 | Oki Electric Ind Co Ltd | 全文検索方法 |
JP2004062475A (ja) * | 2002-07-29 | 2004-02-26 | Hitachi Ltd | インデクス格納方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011138365A (ja) * | 2009-12-28 | 2011-07-14 | Yahoo Japan Corp | 用語抽出装置、方法及び用語辞書のデータ構造 |
CN117453853A (zh) * | 2023-12-26 | 2024-01-26 | 天津南大通用数据技术股份有限公司 | 一种基于bw树的超长字符串跨页索引方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4510041B2 (ja) | 2010-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3849279B2 (ja) | インデクス作成方法および検索方法 | |
US8255398B2 (en) | Compression of sorted value indexes using common prefixes | |
US6668263B1 (en) | Method and system for efficiently searching for free space in a table of a relational database having a clustering index | |
US7818303B2 (en) | Web graph compression through scalable pattern mining | |
US20120310630A1 (en) | Tokenization platform | |
JP4314204B2 (ja) | 文書管理方法、システム及びプログラム | |
JP2005302038A (ja) | Bツリー中の連続キーの名前を変更する方法およびシステム | |
US20110078153A1 (en) | Efficient retrieval of variable-length character string data | |
WO2008053583A1 (fr) | Procédé et programme de recherche de séquence de bits | |
US6735600B1 (en) | Editing protocol for flexible search engines | |
JP2009512950A (ja) | パトリシア・トライを効率的にバルク・ロードするアーキテクチャ及び方法 | |
EP0962865A1 (en) | File processing method, data processing device, and storage medium | |
US6976025B2 (en) | Database and method for storing a searchable set of keywords | |
US6640225B1 (en) | Search method using an index file and an apparatus therefor | |
JP4510041B2 (ja) | 文書検索システム及びプログラム | |
KR20100022565A (ko) | 해시트리를 이용한 url 검색방법 | |
CN116150093B (zh) | 一种对象存储列举对象的实现方法及电子设备 | |
CN113065419B (zh) | 一种基于流量高频内容的模式匹配算法及系统 | |
JP2009104669A (ja) | 文書検索方法、システム及びプログラム | |
CN110362669B (zh) | 一种适用于关键字快速检索的方法 | |
JP2675958B2 (ja) | 情報検索用計算機システム及びその記憶装置の動作方法 | |
CN103838760B (zh) | 一种查询好友信息的方法和系统 | |
CN101930451B (zh) | 用于存储高效地搜索至少一个询问数据元素的方法和装置 | |
JP2004062475A (ja) | インデクス格納方法 | |
JP4319827B2 (ja) | 文書検索プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091021 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091027 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091221 |
|
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: 20100406 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100428 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140514 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |