JP2014186482A - Full-text search system - Google Patents
Full-text search system Download PDFInfo
- Publication number
- JP2014186482A JP2014186482A JP2013060248A JP2013060248A JP2014186482A JP 2014186482 A JP2014186482 A JP 2014186482A JP 2013060248 A JP2013060248 A JP 2013060248A JP 2013060248 A JP2013060248 A JP 2013060248A JP 2014186482 A JP2014186482 A JP 2014186482A
- Authority
- JP
- Japan
- Prior art keywords
- document
- search
- list
- character
- character position
- 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
Abstract
Description
本発明は、予め登録した文書群から、指定した文字列を含む文書を検索する全文検索装置に関するものである。 The present invention relates to a full-text search apparatus for searching a document including a designated character string from a previously registered document group.
全文検索装置が大規模な文書データベースから指定された検索文字列(以下、検索タームと呼ぶ)が含まれる文書を高速に探し出す方式としては、登録されている文書を走査して、予め各文書に出現する文字列のインデクスを作成しておく方式がある。 As a method in which the full-text search device searches a document containing a search character string (hereinafter referred to as a search term) designated from a large-scale document database at high speed, a registered document is scanned and each document is previously stored. There is a method to create an index of the character string that appears.
インデクスの方式としては非特許文献1に記載されている、文字種に応じて1文字又は連接2文字(以下、「N−gramターム」と呼ぶ)の出現する文書IDと出現位置をインデクス(以下、「N−gramインデクス」と呼ぶ)として、検索ターム中の位置関係とN−gramインデクス中の位置関係が等しいるかどうかを判定(以下、「隣接判定」と呼ぶ)する方式が開示されている。
As an indexing method, the document ID and the appearance position where one character or two concatenated characters (hereinafter referred to as “N-gram term”) appear according to the character type are described in Non-Patent
N−gramインデクスは文書群に対して数倍のデータサイズになるため、通常はN−gramインデクスをハードディスク上に配置する。検索を行う時は、検索タームをN−gramタームに分割して、N−gramタームごとのN−gramインデクスをハードディスクから読み込んで隣接判定を行う。また複雑な検索が行えるようにする為に、N−gramインデクスに情報を増やすことがある。特許文献1ではN−gramインデクスに文字が出現する構造の情報を追加する方式が開示されている。特許文献1ではXML文書に対して構造情報を意識した検索を実現している。
Since the N-gram index has a data size several times that of the document group, the N-gram index is usually arranged on the hard disk. When performing a search, the search term is divided into N-gram terms, and an N-gram index for each N-gram term is read from the hard disk to determine adjacency. In addition, in order to enable a complicated search, information may be increased in the N-gram index.
文書群に頻出する文字(以下、「頻出文字」と呼ぶ)は、その文字のN−gramインデクスのデータサイズが大きくなってしまうので、検索タームの中に頻出文字が含まれていると大きな頻出文字のN−gramインデクスをハードディスクから読み込む必要があるので、検索を行うのに時間がかかる。また、公知例1のように、複雑な検索を行うためにN−gramインデクスに情報を増やすとその分ハードディスクから読み込むデータ量が増えるので同様に検索を行うのに時間がかかる。 Characters that appear frequently in a document group (hereinafter referred to as “frequent characters”) increase the data size of the N-gram index of the character, so if frequent characters are included in the search term, a large frequent Since it is necessary to read the character N-gram index from the hard disk, it takes time to perform the search. Further, as in the known example 1, when the information is increased in the N-gram index for performing a complicated search, the amount of data read from the hard disk increases accordingly, and it takes time to perform the search in the same manner.
この検索に時間がかかるという問題に対しては、特許文献2で、頻出文字に1文字を追加したデータサイズが小さいN−gramインデクスを作成して、検索を行う時には小さいN−gramインデクスをハードディスクから読み込むことで検索を行う時間を短くする方式が開示されている。
To solve the problem that this search takes time, in
特許文献2では、検索タームに指定されている頻出文字に続く1文字を利用して検索時に読み込むN−gramインデクスのサイズを小さくして検索を行う時間を短くしているが、頻出文字に続く1文字にしか有効ではなく、検索タームの中の頻出文字が最後に出現する場合や、頻出単語だけの場合は有効ではない。
In
また、文書群の中で、頻出文字の次に出現する文字の種類だけN−gramインデクスを作成する必要があるので、N−gramインデクス全体のサイズが大きくなり作成にも時間がかかる。 In addition, since it is necessary to create N-gram indexes for only the types of characters that appear next to frequently appearing characters in the document group, the size of the entire N-gram index is increased, and the creation takes time.
本発明の目的は、N−gramインデクスを文書IDと文字位置情報の2つに分けて、検索タームに指定された頻出文字以外の文字を利用して、ハードディスクから読み込む頻出文字のN−gramインデクスを少なくすることによって、検索を行う時間を短くする全文検索装置を提供することにある。 An object of the present invention is to divide an N-gram index into two parts, a document ID and character position information, and use the characters other than the frequent characters specified in the search term, and use the N-gram index of the frequent characters read from the hard disk. It is an object of the present invention to provide a full-text search apparatus that shortens the time for performing a search by reducing the number of times.
上記の目的を達成するべく本発明は、以下の構成を提供する。
本発明による全文検索装置の態様は、複数の文書の各々を所定の文字数の登録用部分文字列に分割し、前記登録用部分文字列ごとに、当該登録用部分文字列の各文書中における文字の位置を示す文字位置情報を記憶した文字位置リストと、前記文字位置リストにおける前記文字位置情報の開始位置と各文書の文書IDとを対応付けて記憶した文書IDリストとを登録する手段と、
取得した検索タームを、前記登録用部分文字列の文字数と同数の検索用部分文字列に分割し、分割した前記検索用部分文字列の各々と同じ前記登録用部分文字列ごとに記憶されている前記文書IDリストを互いに比較することにより、比較した全ての前記文書IDリストに共通して含まれる文書IDを全て抽出する手段と、
前記検索用部分文字列ごとに前記文書IDリストから、抽出された共通する文書IDの各々に対応付けられた前記文字位置情報の開始位置をそれぞれ取得する手段と、
取得した前記文字位置情報の開始位置に基づいて、前記検索用部分文字列ごとに前記文字位置リストから、該当する文字位置情報のみをそれぞれ取得する手段と、
抽出された共通する文書IDの各々について、前記検索用部分文字列ごとに取得した前記文字位置情報に基づいて、分割前の検索タームと同じ順番で各検索用部分文字列が隣接して出現するか否かを判断し、各検索用部分文字列が隣接して出現する場合は当該文書IDの文書に当該検索タームが含まれると判断する手段と、を有する。
In order to achieve the above object, the present invention provides the following configurations.
An aspect of the full-text search device according to the present invention is to divide each of a plurality of documents into registration partial character strings having a predetermined number of characters, and for each of the registration partial character strings, characters in each document of the registration partial character string. Means for registering a character position list that stores character position information indicating the position of the document, and a document ID list that stores the start position of the character position information in the character position list and the document ID of each document in association with each other;
The obtained search terms are divided into the same number of search partial character strings as the number of characters of the registration partial character string, and stored for each of the same registration partial character strings as each of the divided search partial character strings. Means for extracting all document IDs included in common in all the compared document ID lists by comparing the document ID lists with each other;
Means for respectively obtaining a start position of the character position information associated with each of the extracted common document IDs from the document ID list for each partial character string for search;
Means for acquiring only corresponding character position information from the character position list for each partial character string for search based on the start position of the acquired character position information;
For each of the extracted common document IDs, the search partial character strings appear adjacently in the same order as the search terms before the division based on the character position information acquired for each of the search partial character strings. And means for determining that the search term is included in the document with the document ID when each partial character string for search appears adjacently.
本発明の全文検索装置によれば、次のような効果がある。ハードディスクから読み込むN−gramインデクスを最小限に抑えることで、検索処理の高速化を図ることができる。 The full-text search device of the present invention has the following effects. By minimizing the N-gram index read from the hard disk, the search process can be speeded up.
以下、本発明の一例を示した図面を参照して本発明の実施の形態を説明する。
図1は本発明における全文検索装置を備えたシステム全体の構成図である。
110は検索クライアント、120はLAN等の通信回線、130は検索サーバを示し、検索クライアント110と検索サーバ130は、通信回線120で接続されている。
Embodiments of the present invention will be described below with reference to the drawings showing an example of the present invention.
FIG. 1 is a configuration diagram of an entire system including a full-text search apparatus according to the present invention.
110 is a search client, 120 is a communication line such as a LAN, 130 is a search server, and the
検索サーバ130は、検索対象となる複数の文書の登録処理及び文書の検索処理を行なう全文検索装置131と、検索時に使用するRAM等の検索用メモリ132と、登録した複数の文書から作成したN−gramインデクス136を登録する補助記憶装置の典型例であるハードディスク133とを有し、ハードディスク133に登録されるN−gramインデクスは、文書IDリスト134と、文字位置リスト135とから構成されている。検索サーバ130は、適宜のコンピュータであり、所定のプログラムを導入されており、CPUがメモリに所定のプログラムを読み込み実行することにより、全文検索装置131として機能する。
なお、以下の図面の説明においては、図1中の符号を参照する場合がある。
The
In the following description of the drawings, reference numerals in FIG. 1 may be referred to.
図2は、図1のハードディスク133に登録するN−gramインデクスのデータ構造例を示す図である。図に示すとおり、N−gramインデクス136は、登録する複数の文書の各々を、所定の文字数ごとに分割した登録用部分文字列であるN−gramターム210、211と、N−gramターム210、211ごとに作成された文書IDリスト134A、134B及び文字位置リスト135A、135Bとから構成されている。図2では、文書を1文字ごとに分割したN−gramタームの例であり、分割したN−gramタームのうち代表として2つのN−gramターム”あ”210及び”め”211のみを示している。
FIG. 2 is a diagram showing an example data structure of an N-gram index registered in the
N−gramターム210、211ごとの文書IDリスト134A、134Bには、複数の文書の各々の文書IDと、文字位置リスト135A、135B上での文字位置情報の開始位置を示すオフセットとを登録する。文書IDリスト134A、134B上では、文書IDが昇順となるように登録する。
In the document ID lists 134A and 134B for each of the N-
N−gramターム210、211ごとの文字位置リスト135A、135Bには、複数の文書の各々の中での当該N−gramターム210、211の出現する数を示す出現個数と、当該文書中における当該N−gramターム210、211の文字の位置を示す文字位置(出現個数と同数)とから構成される文字位置情報を登録する。文字位置リスト135A、135Bにおけるこの文字位置情報の開始位置が、文書IDリスト134A、134Bにおいてオフセットとして登録される。文字位置リスト135A、135B上では、文書IDの昇順に、かつ、文字位置が昇順となるように登録する。
In the character position lists 135A and 135B for each of the N-
ここで例えば、文書ID”001”である文書”あめがふる”が登録されている場合、1文字目のN−gramターム”あ”210に対応する文書IDリスト134Aには、文書ID”001”と文字位置リスト135A上のオフセットである”1”が登録されるとともに、文字位置リスト135Aの当該オフセット1番目には、文書ID”001”の文書中の”あ”の出現個数”3”210aと文字位置”1”、”3”、”12”210bとが登録されている。また、文書IDリスト134Aには、文書ID”900”と文字位置リスト135A上のオフセットである”4000”が登録されるとともに、文字位置リスト135Aの当該オフセット4000番目には、文書ID”900”の文書中の”あ”の出現個数”1”210cと文字位置”2”210dとが登録されている。
Here, for example, when the document “Amegawa” with the document ID “001” is registered, the document ID list “001” corresponding to the first character N-gram term “A” 210 is included in the document ID “001”. "And" 1 ", which is an offset on the
さらに例えば、文書ID”001”である文書”あめがふる”が登録されている場合、2文字目のN−gramターム”め”211に対応する文書IDリスト134Bには、文書ID”001”と文字位置リスト135B上のオフセットである”1”が登録されるとともに、文字位置リスト135Bの当該オフセット1番目には、文書ID”001”の文書中の”め”の出現個数”1”211aと文字位置”2”211bとが登録されている。また、文書IDリスト134Bには、文書ID”900”と文字位置リスト135b上のオフセットである”10000”が登録されるとともに、文字位置リスト135Bの当該オフセット10000番目には、文書ID”900”の文書中の”め”の出現個数”1”211cと文字位置”3”211dとが登録されている。 Further, for example, when the document “Amega Fu” with the document ID “001” is registered, the document ID list “134” corresponding to the N-gram term “M” 211 of the second character has the document ID “001”. "1", which is an offset on the character position list 135B, is registered, and the first offset of the character position list 135B is the number of occurrences of "me" in the document with the document ID "001" "1" 211a And character position “2” 211b are registered. The document ID list 134B is registered with the document ID “900” and the offset “10000” on the character position list 135b, and the document ID “900” is included in the offset 10000th in the character position list 135B. The number of occurrences of “me” in the document “1” 211c and the character position “3” 211d are registered.
図3は、図1に示した全文検索装置131における登録処理を示すフローチャートである。
文書の登録処理は、検索クライアント110から検索サーバ130に登録処理の要求と登録する文書群を送信することで開始する。(ステップ310)検索サーバ130は、登録対象の文書ごとに文書IDを採番する。
FIG. 3 is a flowchart showing registration processing in the full-text search apparatus 131 shown in FIG.
The document registration process is started by transmitting a registration process request and a document group to be registered from the
検索サーバ130は、検索クライアント110から送られて来た登録対象の文書を、1文字又は2文字の登録用部分文字列であるN−gramタームに全て分割する。分割するときは、N−gramタームの文字と、当該N−gramタームの文字の文書上での文字位置とをペアで記憶する。(ステップ320)
The
次に、ステップ310で作成したN−gramタームと文字位置群を、同じ文字のN−gramタームごとに分類する。(ステップ330)
分類したN−gramタームごとに、ハードディスク133上にある文字位置リスト135の末尾に記憶してある文字位置を追加する。このとき、文字位置は昇順で追加する。文字位置を追加するときは、N−gramタームごとに文字位置追加前の末尾の位置をオフセットとして記憶しておく(ステップ340)
Next, the N-gram term and character position group created in
For each classified N-gram term, the character position stored at the end of the character position list 135 on the
次に、文書IDリスト134の中でステップ340で文字位置リスト135の追加を行ったN−gramタームと同じN−gramタームの文書IDリスト134の末尾に、文書IDとステップ340で記憶しておいたオフセットを追加する。このとき、文書IDは検索サーバ130の内部で採番したIDを使用して、文書IDリスト134の中で文書IDが必ず昇順に並ぶようにする。(ステップ350)
Next, in the
登録対象の複数の文書に出現する全てのN−gramタームについて文書IDをN−gramインデクスに追加したら登録処理は完了となる。(ステップ360) When the document ID is added to the N-gram index for all N-gram terms appearing in a plurality of registration target documents, the registration process is completed. (Step 360)
図4は、全文検索装置において3文字以上の検索用文字列を検索タームとして指定したときの検索(以下、「文字列検索」と呼ぶ)の検索処理を示すフローチャートである。図4を用いて文字列検索処理について説明する。 FIG. 4 is a flowchart showing a search process (hereinafter referred to as “character string search”) when a search character string of three or more characters is designated as a search term in the full-text search device. The character string search process will be described with reference to FIG.
文字列検索は、検索クライアント110から検索タームと検索実行の要求が検索サーバ130に送信されることで開始する。(ステップ410)
The character string search starts when a search term and a search execution request are transmitted from the
検索サーバ130は、検索クライアント110から受け取った検索タームを1文字又は2文字の検索用部分文字列であるN−gramタームに分割する。(ステップ420)ここで分割する検索用部分文字列の文字数は、図3に示した登録時のステップ320で分割する登録用部分文字列の文字数と同じとする。
The
次に、複数のN−gramタームから1つのN−gramタームを選択して、ハードディスク133から検索用メモリ132に当該N−gramタームの文書IDリスト(以下、「基準文書IDリスト」と呼ぶ)を読み込む。(ステップ430)
Next, one N-gram term is selected from a plurality of N-gram terms, and the document ID list of the N-gram term (hereinafter referred to as “reference document ID list”) is stored in the
続いて、複数のN−gramタームから別のN−gramタームを選択して、ハードディスク133から検索用メモリ132に文書IDリスト(以下、「比較文書IDリスト」と呼ぶ)を読み込む。(ステップ440)
Subsequently, another N-gram term is selected from the plurality of N-gram terms, and a document ID list (hereinafter referred to as “comparison document ID list”) is read from the
基準文書IDリストに出現し、比較文書IDリストに出現しない文書IDは文字位置を比較しなくてもステップ410で指定された検索タームを含まないことが確定するので、基準文書IDリストと比較文書IDリストの両方に出現する文書IDだけが残るように、文書IDを絞り込む。絞り込んだ結果を新たな基準文書IDリストとして検索メモリ上に配置する。(ステップ450)
Since document IDs that appear in the reference document ID list and do not appear in the comparison document ID list do not include the search term specified in
まだ比較していないN−gramタームが残っている場合は、ステップ440に戻って次の比較文書IDリストを読み込み、新たな基準文書IDリストと比較することによりさらに文書IDを絞り込む。比較するN−gramタームが残っていない場合は、ステップ470に進む。(ステップ460)このようにして最終的に得られた基準文書IDリストには、検索用の複数のN−gramタームに対応する複数の文書IDリストの各々の中で共通する文書IDのみが全て含まれている。 If N-gram terms that have not been compared still remain, the process returns to step 440 to read the next comparison document ID list, and further narrow down the document IDs by comparing with the new reference document ID list. If there are no remaining N-gram terms to compare, go to step 470. (Step 460) In the reference document ID list finally obtained in this way, only the document IDs common to each of the plurality of document ID lists corresponding to the plurality of N-gram terms for search are all included. include.
メモリ上にある基準文書IDリストに出現する文書IDについて、それぞれのN−gramタームの文字位置情報を、ハードディスク133の文字位置リスト135から検索用メモリ132に読み込む。(ステップ470)このとき、基準文書IDリストは、ステップ340で追加した文字位置情報の開始位置のオフセットを持っているので、オフセットに基づいてヒットする可能性のある文書の文字位置情報だけをハードディスク133から読み込むことができる。文字位置リスト135は、文書IDリスト134と比較すると、データサイズの比率が”1:N−gramタームの文書内平均出現個数”となるので、データサイズが大きい文字位置情報のハードディスク133からの読み込みを従来よりも減らすことで、検索処理の高速化を図ることができる。
For the document IDs that appear in the reference document ID list on the memory, the character position information of each N-gram term is read from the character position list 135 of the
ステップ470で読み込んだ文字位置情報を参照して、各N−gramタームが、分割前の検索タームと同じ順番で隣接して出現するかどうかを文書IDごとにチェック(以下、「隣接照合」と呼ぶ)して、同じ順番で隣接して出現するなら、その文書IDは検索ヒットしたと記憶する。(ステップ480)すなわちその文書IDの文書に検索タームが含まれると判断される。
With reference to the character position information read in
基準文書IDリストの文書ID全てでステップ480の隣接照合が終了したら、ヒットした文書の一覧を検索結果として検索クライアント110に返して検索処理は完了となる。(ステップ490)
When the adjacent collation in
上述した図4の文字列検索処理を、上述した図2のN−gramインデクスのデータ構造と図5の検索処理の具体例を用いて説明する。 4 will be described using the data structure of the N-gram index in FIG. 2 and a specific example of the search process in FIG.
この例は、複数の文書を登録したN−gramインデクスが、上述した図2の状態のときに、検索タームを”あめ”510として検索を行う例である。 In this example, when the N-gram index in which a plurality of documents are registered is in the state of FIG. 2 described above, the search is performed with the search term “Ame” 510.
まず、検索クライアント110から入力された“あめ”510を、1文字のN−gramターム“あ”と”め”520に分解する。(ステップ410、ステップ420)
First, “ame” 510 input from the
次に、一つ目のN−gramタームとして“あ”を選択して、“あ”の文書IDリスト134Aをハードディスク133から検索用メモリ132に基準文書IDリストとして読み込む。検索用メモリ132上の基準文書IDリスト531が、読み込んだ“あ”の文書IDリスト134Aである。(ステップ430)
Next, “A” is selected as the first N-gram term, and the document ID list 134 A of “A” is read from the
次に、残りのN−gramタームとして“め”を選択して、“め”の文書IDリスト134Bをハードディスク133から検索用メモリ132に比較文書IDリストとして読み込む。メモリ530上の比較文書IDリスト532が読み込んだ“め”の文書IDリスト134Bである。(ステップ440)
Next, “M” is selected as the remaining N-gram term, and the “M” document ID list 134B is read from the
次に、検索用メモリ132上の基準文書IDリスト531と比較文書IDリスト532を比較して、両方に出現する文書ID001と900で新たな基準文書IDリスト533を作成する。なお、この例では文書IDリスト531と532の省略部分に同じ文書IDは出現しないものとする。(ステップ450)
Next, the reference
ここで、未だ文書IDリストを読み込んでいないN−gramタームは存在しない。新たな基準文書IDリスト533には、検索用のN−gramターム”あ”と”め”に対応する元の2つの文書IDリスト134A、134Bの中の共通する文書IDのみが含まれている。続いて、新たな基準文書IDリスト533にある文書IDと、文字位置リスト上のオフセットの情報すなわち文字位置情報とを用いて、図2の“あ”と“め”の各々の文字位置リスト135Aと135Bから文書ID”009”と”900”の文字位置情報のみを、ハードディスク133から検索用メモリ132に読み込む。読み込んだN−gramターム“あ”の文字位置が文字位置リスト534、“め”の文字位置が文字位置リスト535である。(ステップ460、ステップ470)ここで、図2の文字位置リスト135Aと135Bの全体では無く、一部分だけハードディスク133から読み込むことができているので、従来技術に比べて読み込むデータ量が少なく、検索処理の高速化を図ることができる。
Here, there is no N-gram term for which the document ID list has not yet been read. The new reference
次に、文字位置リスト534と535を見ると文書ID001の1文字目210bに“あ”、2文字目211bに“め”が出現していることが分かるので、文書ID001には検索条件“あめ”510を含んでいることが分かる。同様に文書ID900は、2文字目210dに“あ”、3文字目211dに“め”が出現しているので、文書ID900も検索条件“あめ”510を含んでいることが分かる。(ステップ480)
Next, looking at the character position lists 534 and 535, it can be seen that “A” appears in the
最後に、検索結果として文書ID001と900を検索クライアント110に返して検索処理を終了する(ステップ490)
Finally,
110:検索クライアント
120:通信回線
130:検索サーバ
131:全文検索装置
132:検索用メモリ
133:ハードディスク
134:文書IDリスト
135:文字位置リスト
136:N−gramインデクス
210:登録用のN−gramターム“あ”
211:登録用のN−gramターム“い”
134A:“あ”の文書IDリスト
134B:“め”の文書IDリスト
135A:“あ”の文字位置リスト
135B:“め”の文字位置リスト
510:検索ターム
520:検索タームを分割した検索用のN−gramターム
531:“あ”の文書IDリスト
532:“め”の文書IDリスト
533:基準文書IDリスト
534:“あ”の文字位置リスト
535:“め”の文字位置リスト
110: Search client
120: Communication line
130: Search server
131: Full-text search device
132: Search memory
133: Hard disk
134: Document ID list
135: Character position list
136: N-gram index
210: N-gram term "A" for registration
211: N-gram term "I" for registration
134A: Document ID list for “A”
134B: Document ID list for “Me”
135A: Character position list of “A”
135B: Character position list for “Me”
510: Search term
520: N-gram term for search divided into search terms
531: Document ID list for “A”
532: Document ID list for “Me”
533: Standard document ID list
534: Character position list of “A”
535: "Me" character position list
Claims (1)
取得した検索タームを、前記登録用部分文字列の文字数と同数の検索用部分文字列に分割し、分割した前記検索用部分文字列の各々と同じ前記登録用部分文字列ごとに記憶されている前記文書IDリストを互いに比較することにより、比較した全ての前記文書IDリストに共通して含まれる文書IDを全て抽出する手段と、
前記検索用部分文字列ごとに前記文書IDリストから、抽出された共通する文書IDの各々に対応付けられた前記文字位置情報の開始位置をそれぞれ取得する手段と、
取得した前記文字位置情報の開始位置に基づいて、前記検索用部分文字列ごとに前記文字位置リストから、該当する文字位置情報のみをそれぞれ取得する手段と、
抽出された共通する文書IDの各々について、前記検索用部分文字列ごとに取得した前記文字位置情報に基づいて、分割前の検索タームと同じ順番で各検索用部分文字列が隣接して出現するか否かを判断し、各検索用部分文字列が隣接して出現する場合は当該文書IDの文書に当該検索タームが含まれると判断する手段と、を有する
全文検索装置。 Each of the plurality of documents is divided into registration partial character strings having a predetermined number of characters, and character position information indicating the positions of characters in each document of the registration partial character strings is stored for each of the registration partial character strings. Means for registering a character position list and a document ID list in which the start position of the character position information in the character position list and the document ID of each document are stored in association with each other;
The obtained search terms are divided into the same number of search partial character strings as the number of characters of the registration partial character string, and stored for each of the same registration partial character strings as each of the divided search partial character strings. Means for extracting all document IDs included in common in all the compared document ID lists by comparing the document ID lists with each other;
Means for respectively obtaining a start position of the character position information associated with each of the extracted common document IDs from the document ID list for each partial character string for search;
Means for acquiring only corresponding character position information from the character position list for each partial character string for search based on the start position of the acquired character position information;
For each of the extracted common document IDs, the search partial character strings appear adjacently in the same order as the search terms before the division based on the character position information acquired for each of the search partial character strings. And a means for determining that the search term is included in the document with the document ID when the partial character strings for search appear adjacent to each other.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013060248A JP6050165B2 (en) | 2013-03-22 | 2013-03-22 | Full-text search device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013060248A JP6050165B2 (en) | 2013-03-22 | 2013-03-22 | Full-text search device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014186482A true JP2014186482A (en) | 2014-10-02 |
JP6050165B2 JP6050165B2 (en) | 2016-12-21 |
Family
ID=51834012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013060248A Expired - Fee Related JP6050165B2 (en) | 2013-03-22 | 2013-03-22 | Full-text search device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6050165B2 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000231563A (en) * | 1999-02-09 | 2000-08-22 | Hitachi Ltd | Document retrieving method and its system and computer readable recording medium for recording document retrieval program |
JP2001014342A (en) * | 1999-07-02 | 2001-01-19 | Hitachi Ltd | Method and device for document retrieval |
JP2004013764A (en) * | 2002-06-11 | 2004-01-15 | Ricoh Co Ltd | Device for retrieving whole text, program and recording medium |
JP2009134627A (en) * | 2007-11-30 | 2009-06-18 | Mitsubishi Electric Corp | N-character index generation device, document search device, n-character index generation method, document search method, n-character index generation program and document search program |
JP2011232943A (en) * | 2010-04-27 | 2011-11-17 | Casio Comput Co Ltd | Retrieval device and computer program |
JP2012198794A (en) * | 2011-03-22 | 2012-10-18 | Casio Comput Co Ltd | Method and device for generating inverted index for n-gram retrieval, retrieval method and device using inverted index, and computer program |
-
2013
- 2013-03-22 JP JP2013060248A patent/JP6050165B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000231563A (en) * | 1999-02-09 | 2000-08-22 | Hitachi Ltd | Document retrieving method and its system and computer readable recording medium for recording document retrieval program |
JP2001014342A (en) * | 1999-07-02 | 2001-01-19 | Hitachi Ltd | Method and device for document retrieval |
JP2004013764A (en) * | 2002-06-11 | 2004-01-15 | Ricoh Co Ltd | Device for retrieving whole text, program and recording medium |
JP2009134627A (en) * | 2007-11-30 | 2009-06-18 | Mitsubishi Electric Corp | N-character index generation device, document search device, n-character index generation method, document search method, n-character index generation program and document search program |
JP2011232943A (en) * | 2010-04-27 | 2011-11-17 | Casio Comput Co Ltd | Retrieval device and computer program |
JP2012198794A (en) * | 2011-03-22 | 2012-10-18 | Casio Comput Co Ltd | Method and device for generating inverted index for n-gram retrieval, retrieval method and device using inverted index, and computer program |
Non-Patent Citations (1)
Title |
---|
JPN6016024417; 小川 泰嗣: 'N-gram索引における複合検索条件の効率的な処理方法' 情報処理学会論文誌 第40巻 No.SIG5(TOD2), 19990515, 43-53ページ, 社団法人情報処理学会 * |
Also Published As
Publication number | Publication date |
---|---|
JP6050165B2 (en) | 2016-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9195738B2 (en) | Tokenization platform | |
Wang et al. | Efficient approximate entity extraction with edit distance constraints | |
US9031935B2 (en) | Search system, search method, and program | |
US9465860B2 (en) | Storage medium, trie tree generation method, and trie tree generation device | |
US9798776B2 (en) | Systems and methods for parsing search queries | |
JP6912488B2 (en) | Character string distance calculation method and device | |
JP5930496B2 (en) | Method and apparatus for acquiring structured information in layout file | |
US20110258202A1 (en) | Concept extraction using title and emphasized text | |
CN102867049A (en) | Chinese PINYIN quick word segmentation method based on word search tree | |
US20200342037A1 (en) | System and method for search discovery | |
US10049164B2 (en) | Multidimensional-range search apparatus and multidimensional-range search method | |
US9965546B2 (en) | Fast substring fulltext search | |
JP6212639B2 (en) | retrieval method | |
JP2004220176A (en) | Database search system and search method, method for forming data file used for search, and storage medium storing data file | |
JP6050165B2 (en) | Full-text search device | |
JP2007133682A (en) | Full text retrieval system and full text retrieval method therefor | |
JPH07146880A (en) | Document retrieval device and method therefor | |
JP5826148B2 (en) | Drawing management server and drawing management system using the same | |
JP2008197700A (en) | Document management system and document management method | |
JP4304226B2 (en) | Structured document management system, structured document management method and program | |
US20240152565A1 (en) | Information processing system, information processing method and information processing program | |
JP5230664B2 (en) | Similar word search server and method | |
JP2005215716A (en) | Method for retrieving text | |
US20080177729A1 (en) | Apparatus, method and computer program product for searching document | |
JP2835065B2 (en) | String search method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20150401 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20150413 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20150617 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150907 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160628 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160801 |
|
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: 20161115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161124 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6050165 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |