JP2008242749A - 検索装置およびプログラム - Google Patents
検索装置およびプログラム Download PDFInfo
- Publication number
- JP2008242749A JP2008242749A JP2007081691A JP2007081691A JP2008242749A JP 2008242749 A JP2008242749 A JP 2008242749A JP 2007081691 A JP2007081691 A JP 2007081691A JP 2007081691 A JP2007081691 A JP 2007081691A JP 2008242749 A JP2008242749 A JP 2008242749A
- Authority
- JP
- Japan
- Prior art keywords
- character string
- file
- information
- search
- list
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】本発明に係る検索装置は、複数の文書ファイル(ファイル)に少なくとも1つ含まれる単語(文字列)を抽出した単語リストを記憶する。単語リストに含まれる単語には、それぞれを一意的に特定可能な識別番号(単語識別番号)が付与される。また、本発明に係る検索装置は、単語リストに含まれる単語の有無を各文書ファイルについて「1」または「0」の値で記述した有無情報リストを記憶する。有無情報リストは、それぞれの文書ファイルの有無情報をブロック単位で記述している。本発明に係る検索装置は、検索文字列を含む単語の識別番号を特定し、その識別番号に対応する有無情報を参照することにより、検索文字列を含む文書ファイルを特定する。
【選択図】図11
Description
Erik Hatcher、Otis Gospodnetic著、「Lucene in Action」、(米国)、マニング・パブリケーションズ(Manning Publications)
しかし、組み込みシステムは、特定用途に特化した構成であり、演算処理能力やメモリ容量において汎用的なシステムよりも余裕がないことが多い。そのため、組み込みシステムにおいては、上述したような従来の検索技術をそのまま適用してもうまく動作しないことが多かった。
本発明は、かかる事情に鑑みてなされたものであり、その目的は、情報の検索を限られたリソースでも好適に実行可能な技術を提供することにある。
この検索装置によれば、各ファイルにおける文字列の有無は、単一のファイルである有無情報リストにより特定される。ゆえに、この検索装置によれば、有無情報の読み出しを高速にするとともに、有無情報リストのデータ容量を少なくすることが可能である。
なお、検索文字列を含む文字列は、特定の意味や職能を有する単語であることが一般的であるが、必ずしも単語である必要はない。
なお、本発明は、このようなプログラムをネットワークを介してダウンロードさせ、種々の電子機器にインストールして検索装置としての機能を実現させたり、あるいは、プログラムを記録媒体に記録させた形態で提供したりすることも可能である。
なお、以下に示す実施形態においては、説明の便宜上、文字列としてローマ字を用い、文章や単語には英語を用いる。しかしながら、本発明は、日本語等のローマ字以外の文字を用いる言語に適用することも可能であるし、数字や記号を文字列に含んでもよい。
図1は、本発明の一実施形態である情報処理システムを示すブロック図である。同図に示すように、この情報処理システム100は、検索装置10と、データ管理装置20とを備える。検索装置10は、携帯可能な表示装置であり、本実施形態においては、いわゆる電子ペーパである。データ管理装置20は、パーソナルコンピュータ等の情報処理装置であり、検索装置10において利用される各種のデータを管理し、これを必要に応じて検索装置10に供給する。
なお、データ管理装置20は、検索装置10に記憶された文書データを削除したり、あるいは、検索装置10に新たな文書データを追加したりすることが可能である。
情報処理システム100の構成は、以上のとおりである。かかる構成のもと、検索装置10は、文書を表示する表示機能と、文書に含まれる単語を検索する検索機能とを実現する。また、データ管理装置20は、検索装置10が検索機能を実現するために必要なデータ、すなわちインデックスを生成する。
以下においては、まず、データ管理装置20がインデックスを生成する動作を説明し、次いで、検索装置10がそのインデックスを用いて実現する検索機能の動作を説明する。
図2は、データ管理装置20の動作を示すフローチャートである。なお、データ管理装置20は、検索装置10が接続されたとき、すなわち、通信部23と通信部13とで通信が可能となったときに、この動作を実行する。同図に示すように、まず、データ管理装置20の制御部21は、検索装置10の記憶部12に記憶された文書ファイルを全て取得する(ステップSa1)。このとき、制御部21は、記憶部12においてそれぞれの文書ファイルが記憶されている位置を特定する情報を併せて取得する。なお、本実施形態においては、この情報としてファイルパスを用いるが、全ての文書ファイルが同一のディレクトリに記憶されている場合であれば、ファイル名のみであってもよい。また、制御部21は、記憶部12から文書ファイルをコピーすればよく、文書ファイルを記憶部12から移動させる必要はない。
制御部21は、ある文書ファイルに基づいて単語リスト、位置情報リスト、位置アドレスリスト、有無情報リストおよびファイル情報リストを生成し、その後、別の文書ファイルに基づいてこれらのリストを更新する。制御部21は、異なる文書ファイルを順次処理対象とすることによって更新を繰り返し、取得した全ての文書ファイルを処理したところで更新を終える。その動作は、具体的には以下のとおりである。
この例の場合、制御部21は、単語「the」に単語識別番号「1」、単語「cat」に単語識別番号「2」、単語「is」に単語識別番号「3」、といった具合で単語識別番号を付与する。その結果、制御部21が生成する単語リストは、図3のようになる。
なお、図3においては、単語と単語識別番号の対応関係を示すために、これを上下に記載しているが、実際のデータにおいては、これらが連続している。すなわち、単語リストは、「the」、「1」、「cat」、「2」、「is」、「3」、といった並びで記憶されている。
制御部21は、文書ファイルに含まれる単語の全てについて、このように頻度情報と位置情報とを求め、位置情報ブロックを生成する。
図6は、ファイル情報リストのデータ形式を例示する図である。同図に示すように、ファイル情報リストは、それぞれの文書ファイルについて、「ファイルパス」と、「有無情報ブロック開始アドレス」と、「有無情報ブロック終了アドレス」と、「位置アドレスブロック開始アドレス」と、「位置アドレスブロック終了アドレス」と、「位置情報ブロック開始アドレス」と、「位置情報ブロック終了アドレス」とを記述したものである。なお、これらのデータをまとめたものを、以下では「ファイル情報」という。ファイル情報は、ファイル識別番号に応じた順序で記述される。つまり、ファイル情報リストには、ファイル識別番号が対応付けられるようにファイル情報が記述される。
「有無情報ブロック開始アドレス」および「有無情報ブロック終了アドレス」には、有無情報リストにおける当該文書ファイルに対応する有無情報ブロックの範囲が記述される。すなわち、「有無情報ブロック開始アドレス」には、当該文書ファイルに対応する有無情報ブロックの最初の有無情報のアドレス(位置)が記述され、「有無情報ブロック終了アドレス」には、当該文書ファイルに対応する有無情報ブロックの最後の有無情報のアドレス(位置)が記述される。
「位置情報ブロック開始アドレス」および「位置情報ブロック終了アドレス」には、位置情報リストにおける当該文書ファイルに対応する位置情報ブロックの範囲が記述される。すなわち、「位置情報ブロック開始アドレス」には、当該文書ファイルに対応する位置情報ブロックの最初の位置アドレスが記述され、「位置情報ブロック終了アドレス」には、当該文書ファイルに対応する位置情報ブロックの最後の位置アドレスが記述される。
図7は、位置情報ブロックとこれらの位置アドレスの関係を例示する図である。位置情報ブロックは、上述したように、1の頻度情報と1または複数の位置情報からなるデータの組である。同図に示すように、「位置情報ブロック終了アドレス」は、位置情報ブロックの末尾の位置情報の位置アドレスを表しているのに対して、「位置アドレスブロック終了アドレス」は、位置情報ブロックの最後に記述された頻度情報の位置アドレスを表している。
ここで、この更新処理について具体例を挙げて説明する。ここにおいて、既存の単語リストは、図3に示した単語リストであるとする。また、このとき処理対象である文書ファイルを「文書ファイルF2」とし、この文書ファイルF2には、「The dog is small and white.」という文のみが含まれているものとし、この文が文頭から順に抽出されるものとする。
図13は、パーティション情報のデータ形式を例示する図である。このように、パーティション情報は、パーティションの数と、それぞれのパーティションの最初にある単語とその位置アドレスとを記述した情報である。例えば、図12に示したようなパーティションを設定した場合であれば、パーティションの数は「3」である。また、1番目のパーティションの最初の単語は「and」であり、2番目のパーティションの最初の単語は「cat」であり、3番目のパーティションの最初の単語は「small」である。
図14および15は、検索装置10の動作を示すフローチャートである。図14は、検索文字列を含む文書ファイルを特定するための第1の検索処理であり、図15は、特定された文書ファイルから該当する単語の位置を特定するための第2の検索処理である。本実施形態の検索装置10は、これらの2段階の検索処理によって検索機能を実現している。なお、本実施形態においては、これらの検索処理が別個のプログラムにより実現されるが、単一のプログラムで実現されてもよい。
また、制御部11は、ファイルパスと頻度情報とを用いて、検索文字列を含む文書ファイルを表示させるとともに、その文書ファイルに含まれる検索文字列の個数を表示させることもできる。
本実施形態の検索装置10は、このような検索処理を行うことにより、組み込みシステムのようなリソースが制限される構成においても好適に動作することを可能にしている。本実施形態の検索装置10は、複数の文書ファイルにおける単語の有無を単一のファイル(有無情報リスト)として記憶することにより、これらが複数に分かれている場合よりもデータの入出力を高速にすることを可能にしている。加えて、本実施形態の有無情報リストは、単語の有無を「1」と「0」の情報のみで表しているため、データ容量を小さくすることもできる。
なお、本実施形態の検索装置10は、種々のアドレスをインデックス情報として記憶することにより、有無情報や位置情報などが単一のファイルとして記憶されている場合であっても、目的の文書ファイルのブロックへのアクセスを容易にすることを可能にしている。
図18に示すように、本実施形態の有無情報リストを用いた場合には、インデックスのサイズ(三角の点で示す)をテキストファイルのサイズ(四角の点で示す)よりも小さくすることが可能となった。特に、この効果は、文書ファイルのサイズが大きくなるほど顕著となることが明らかになった。
なお、本実施形態の検索機能は、ディスクキャッシュが有効である場合よりも、ディスクキャッシュが有効でない場合においてより効果が顕著であることも確認された。
本発明は、上述した実施形態のみならず、その他の形態でも実施が可能である。例えば、パーティション情報やファイル情報リストは、必須のデータではない。しかしながら、もちろん、このようなデータを用いて読み出したり参照したりするデータの範囲を限定した方が、より高速に処理が実行できることはいうまでもない。また、上述した実施形態においては、単語の探索を二分探索により行うとしたが、二分探索を用いないでもよい。
あるいは、有無情報ブロックに含まれる有無情報の数を全ての有無情報ブロックについて同じ数にしてもよい。この場合、有無情報の数は、全ての有無情報ブロックにおいて単語識別番号の最大値と同じ数になる。このようにすれば、有無情報ブロックのデータサイズが同一となるため、区切り位置の特定を容易にすることができる。
なお、本発明をフレーズ検索に適用する場合は、アンド検索を行った後に検索文字列の語順に基づいて絞り込みを行ってもよいが、上述した単語リストにフレーズを記述してもよい。例えば、単語リストに「thank」および「you」が単語として記述される場合に、さらに、「thank you」というフレーズを1の単語であるとみなして追記するようにしてもよい。要するに、上述した実施形態における「単語リスト」は、文書ファイルに少なくとも1つ含まれる単語のリストであったが、これを、文書ファイルに少なくとも1つ含まれる単語またはフレーズのリストとしてもよいということである。
Claims (8)
- 文字列を含む複数のファイルのそれぞれを識別する複数のファイル情報と、
前記複数のファイルの少なくとも1つに含まれる文字列と、前記文字列を一意的に特定する識別番号とを有する文字列リストと、
前記文字列リストに含まれる各文字列の有無を表す有無情報を前記識別番号に応じた順序で表す有無情報ブロックを前記複数のファイルのそれぞれについて有する有無情報リストと
を記憶する記憶手段と、
検索対象の文字列である検索文字列を取得する取得手段と、
前記取得手段により取得された検索文字列を含む文字列が前記文字列リストに含まれる場合に、当該文字列に付与された識別番号を前記文字列リストに基づいて特定する識別番号特定手段と、
前記有無情報リストの有無情報に基づき、前記識別番号特定手段により特定された識別番号により表される文字列を含むファイルを特定するファイル特定手段と、
前記ファイル特定手段により特定されたファイルを示す前記ファイル情報を出力する出力手段と
を備えることを特徴とする検索装置。 - 前記記憶手段は、前記複数のファイルの少なくとも1つに含まれる文字列の位置をそれぞれ表す複数の位置情報を記憶し、
前記ファイル特定手段により特定されたファイルにおける前記検索文字列を含む文字列の位置を表す位置情報を前記複数の位置情報の中から特定する位置情報特定手段を備え、
前記出力手段は、
前記ファイル特定手段により特定されたファイルを示す前記ファイル情報と、当該ファイルについて前記位置情報特定手段により特定された位置情報とを出力する
ことを特徴とする請求項1に記載の検索装置。 - 前記記憶手段は、前記文字列リストを複数の部分に区切るパーティション情報を記憶し、
前記識別番号特定手段は、
前記取得手段により取得された検索文字列を含む文字列が前記パーティション情報により区切られる複数の部分のいずれに含まれ得るかを特定するパーティション特定手段と、
前記パーティション特定手段により特定された部分に前記検索文字列を含む文字列が存在するか否かを判断する判断手段とを備え、
前記パーティション特定手段により特定された部分に前記検索文字列を含む文字列が存在すると前記判断手段が判断する場合に、当該文字列に付与された識別番号を前記文字列リストに基づいて特定する
ことを特徴とする請求項1に記載の検索装置。 - 前記識別番号特定手段は、
前記文字列リストから前記取得手段により取得された検索文字列を含む文字列を二分探索により検索する検索手段を備える
ことを特徴とする請求項1に記載の検索装置。 - 前記有無情報が、前記文字列リストに含まれる各文字列の有無を1ビット単位で表すことを特徴とする請求項1に記載の検索装置。
- 前記識別番号は、前記複数のファイルのうち、当該ファイルに少なくとも1つ含まれる文字列の総数が少ないファイルに含まれる文字列から先に付与され、
前記有無情報ブロックに含まれる前記有無情報の数は、少なくとも1つ含まれる文字列の総数が少ないファイルについての有無情報ブロックほど少ない
ことを特徴とする請求項1に記載の検索装置。 - 前記記憶手段は、
前記複数のファイルのうちの各ファイルについての前記有無情報ブロックの位置を示すアドレス情報を記憶し、
前記ファイル特定手段は、
前記アドレス情報に基づいて各々の前記有無情報ブロックを特定し、当該有無情報ブロックから前記識別番号特定手段により特定された識別番号により表される文字列を含むファイルを特定する
ことを特徴とする請求項1に記載の検索装置。 - コンピュータに、
文字列を含む複数のファイルのそれぞれを識別する複数のファイル情報と、
前記複数のファイルの少なくとも1つに含まれる文字列と、前記文字列を一意的に特定する識別番号とを有する文字列リストと、
前記文字列リストに含まれる各文字列の有無を表す有無情報を前記識別番号に応じた順序で表す有無情報ブロックを前記複数のファイルのそれぞれについて有する有無情報リストと、
検索対象の文字列である検索文字列と
を取得する機能と、
前記検索文字列を含む文字列が前記文字列リストに含まれる場合に、当該文字列に付与された識別番号を前記文字列リストに基づいて特定する機能と、
前記有無情報リストの有無情報に基づき、前記特定された識別番号により表される文字列を含むファイルを特定する機能と、
前記特定されたファイルを示す前記ファイル情報を出力する機能と
を実現させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007081691A JP5151206B2 (ja) | 2007-03-27 | 2007-03-27 | 検索装置およびプログラム |
US12/079,432 US7840583B2 (en) | 2007-03-27 | 2008-03-26 | Search device and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007081691A JP5151206B2 (ja) | 2007-03-27 | 2007-03-27 | 検索装置およびプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2008242749A true JP2008242749A (ja) | 2008-10-09 |
JP2008242749A5 JP2008242749A5 (ja) | 2010-04-08 |
JP5151206B2 JP5151206B2 (ja) | 2013-02-27 |
Family
ID=39796056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007081691A Expired - Fee Related JP5151206B2 (ja) | 2007-03-27 | 2007-03-27 | 検索装置およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7840583B2 (ja) |
JP (1) | JP5151206B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10121177B2 (en) * | 2015-05-05 | 2018-11-06 | Partfiniti Inc. | Techniques for configurable part generation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08180066A (ja) * | 1994-12-26 | 1996-07-12 | Toshiba Corp | インデックス作成方法、文書検索方法及び文書検索装置 |
JP2002041567A (ja) * | 2000-07-31 | 2002-02-08 | Hitachi Ltd | データベース管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6802059B1 (en) * | 1999-08-02 | 2004-10-05 | Ricoh Corporation | Transforming character strings that are contained in a unit of computer program code |
JP4076078B2 (ja) * | 2001-03-30 | 2008-04-16 | キヤノン株式会社 | ファイル管理方法 |
JP3924787B2 (ja) * | 2003-02-27 | 2007-06-06 | ソニー株式会社 | 記録装置、ファイル管理方法、ファイル管理方法のプログラム、ファイル管理方法のプログラムを記録した記録媒体 |
JP4054989B2 (ja) * | 2003-02-27 | 2008-03-05 | ソニー株式会社 | 記録装置、ファイル管理方法、ファイル管理方法のプログラム、ファイル管理方法のプログラムを記録した記録媒体 |
JP4140516B2 (ja) * | 2003-12-09 | 2008-08-27 | ソニー株式会社 | 記録制御装置および方法、記録媒体、並びにプログラム |
WO2006009023A1 (ja) * | 2004-07-21 | 2006-01-26 | Konica Minolta Holdings, Inc. | 情報生成装置及び情報生成プログラム |
-
2007
- 2007-03-27 JP JP2007081691A patent/JP5151206B2/ja not_active Expired - Fee Related
-
2008
- 2008-03-26 US US12/079,432 patent/US7840583B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08180066A (ja) * | 1994-12-26 | 1996-07-12 | Toshiba Corp | インデックス作成方法、文書検索方法及び文書検索装置 |
JP2002041567A (ja) * | 2000-07-31 | 2002-02-08 | Hitachi Ltd | データベース管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
US7840583B2 (en) | 2010-11-23 |
US20080243798A1 (en) | 2008-10-02 |
JP5151206B2 (ja) | 2013-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5194826B2 (ja) | 情報検索装置、情報検索方法及び制御プログラム | |
JP2005107597A (ja) | 類似文検索装置、類似文検索方法、およびプログラム | |
JP2011076566A (ja) | 情報処理装置、端末装置、サーバ装置、通信システム、表示制御方法、プログラム、およびコンピュータ読取り可能な記録媒体 | |
CN114297143A (zh) | 一种搜索文件的方法、显示文件的方法、装置及移动终端 | |
US9411784B2 (en) | Method and computer readable medium for controlling pagination of dynamic-length presentations | |
JP2007188440A (ja) | データベースの作成方法と装置、及びそのデータベース | |
JP5151206B2 (ja) | 検索装置およびプログラム | |
US20130326329A1 (en) | Method and apparatus for collecting, merging and presenting content | |
JPWO2008018287A1 (ja) | 検索装置及び検索データベース生成装置 | |
JP4487614B2 (ja) | 情報表示制御装置、及びプログラム | |
JP2005258592A (ja) | フォーマット変換装置およびファイル検索装置 | |
JP2009048351A (ja) | 情報検索装置、情報検索方法および情報検索プログラム | |
JP2002312401A (ja) | 電子ファイリング装置及びその制御方法、記憶媒体並びにプログラム | |
JP4535186B2 (ja) | 辞書機能を備えた電子装置およびプログラム | |
JP5184987B2 (ja) | 索引情報作成装置、索引情報作成方法及びプログラム | |
JP6753190B2 (ja) | 文書検索装置及びプログラム | |
CN107229349B (zh) | 一种输入法的文字显示方法及装置 | |
JP2005267057A (ja) | テキストデータ抽出方法、検索用インデックス作成方法、電子ファイリングシステムおよびプログラム | |
JP2010015515A (ja) | 辞書機能を備えた電子装置 | |
JP2016103150A (ja) | 文書処理装置および文書処理プログラム | |
JP5187013B2 (ja) | ファイル検索システム、ファイル検索装置及びファイル検索方法 | |
JP4256841B2 (ja) | 情報処理装置、情報処理方法、情報処理プログラム | |
JP2009059138A (ja) | 単語検索装置、方法及びプログラム | |
JP2006309536A (ja) | ファイル管理プログラム、及びファイル管理装置 | |
JP2006018392A (ja) | 情報処理装置、情報処理システム、検索結果表示方法、プログラム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100224 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120313 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120426 |
|
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: 20121106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121119 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151214 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |