JP4114600B2 - 可変長文字列検索装置及び可変長文字列検索方法並びにプログラム - Google Patents
可変長文字列検索装置及び可変長文字列検索方法並びにプログラム Download PDFInfo
- Publication number
- JP4114600B2 JP4114600B2 JP2003402741A JP2003402741A JP4114600B2 JP 4114600 B2 JP4114600 B2 JP 4114600B2 JP 2003402741 A JP2003402741 A JP 2003402741A JP 2003402741 A JP2003402741 A JP 2003402741A JP 4114600 B2 JP4114600 B2 JP 4114600B2
- Authority
- JP
- Japan
- Prior art keywords
- pattern
- registered
- character string
- length
- search
- 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.)
- Expired - Fee Related
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
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)
Description
そこで、本発明の目的は、登録パターンの重複部分の長さにばらつきがある場合においても、高い検索効率を得られるようにすることにある。
パターン格納部と、
可変長文字列データである登録パターンが入力される毎に、予め定められている複数の異なる長さの中から前記登録パターンの長さ以下で且つ最長の長さを選択し、前記登録パターンの先頭から該選択した長さ分の文字データをプレフィックスとして抽出すると共に、抽出した該プレフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記検索キーから前記予め定められている複数の異なる長さのプレフィックスを抽出し、前記パターン格納部に登録されているインデックス要素を、該抽出した各長さのプレフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部と
を備えたことを特徴とする。
パターン格納部と、
可変長文字列データである登録パターンが入力される毎に、前記登録パターンの先頭から末尾に向かって区切り文字の検出処理を行い、予め定められた個数の区切り文字を検出した場合は、前記登録パターンの先頭文字から該検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録する一方、前記登録パターンの末尾まで区切り文字の検出処理を行っても前記予め定められた個数の区切り文字を検出できなかった場合は、前記登録パターンの先頭文字から最後に検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記予め定められた個数の区切り文字を検出するまで、前記検索キーの先頭から末尾に向かって区切り文字の検出処理を行い、区切り文字を検出する毎に、前記パターン格納部に登録されているインデックス要素を、前記検索キーの先頭文字から検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部と
を備えたことを特徴とする。
前記パターン登録部は、前記登録パターンのプレフィックスを前記パターン格納部に登録する際、前記登録パターンからプレフィックスを除いたサフィックスを前記プレフィックスに関連付けて登録し、
前記検索実行部は、
前記検索キーから前記各プレフィックスを抽出するプレフィックス抽出部と、
該プレフィックス抽出部によって抽出した前記各プレフィックスを使用して前記パターン格納部を検索するプレフィックス検索部と、
該プレフィックス検索部によって検索されたプレフィックスに関連付けて登録されている登録パターンのサフィックスについて、前記検索キーのサフィックスとの一致検証を行うサフィックス照合部と
を含むことを特徴とする。
前記パターン登録部は、前記登録パターンのプレフィックスを前記パターン格納部に登録する際、前記プレフィックスに対してハッシュ関数を適用することにより得られるハッシュ値に応じた位置に登録し、
前記プレフィックス検索部は、前記プレフィックス抽出部によって抽出された各プレフィックスに対するハッシュ値を前記ハッシュ関数を用いて求め、該求めた各ハッシュ値を使用して前記パターン格納部を検索する
ことを特徴とする。
パターン格納部と、
可変長文字列データである登録パターンが入力される毎に、予め定められている複数の異なる長さの中から、前記登録パターンの長さ以下で且つ最長の長さを選択し、前記登録パターンの末尾から該選択した長さ分の文字データをサフィックスとして抽出すると共に、抽出した該サフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記検索キーから前記予め定められている複数の異なる長さのサフィックスを抽出し、前記パターン格納部に登録されているインデックス要素を、該抽出した各長さのサフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部と
を備えたことを特徴とする。
パターン格納部と、
可変長文字列データである登録パターンが入力される毎に、前記登録パターンの末尾から先頭に向かって区切り文字の検出処理を行い、予め定められた個数の区切り文字を検出した場合は、前記登録パターンの末尾文字から該検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録する一方、前記登録パターンの先頭まで区切り文字の検出処理を行っても前記予め定められた個数の区切り文字を検出できなかった場合は、前記登録パターンの末尾文字から最後に検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記予め定められた個数の区切り文字を検出するまで、前記検索キーの末尾から先頭に向かって区切り文字の検出処理を行い、区切り文字を検出する毎に、前記パターン格納部に登録されているインデックス要素を、前記検索キーの末尾文字から検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部と
を備えたことを特徴とする。
前記パターン登録部は、前記登録パターンのサフィックスを前記パターン格納部に登録する際、前記登録パターンからサフィックスを除いたプレフィックスを前記サフィックスに関連付けて登録し、
前記検索実行部は、
前記検索キーから前記各サフィックスを抽出するサフィックス抽出部と、
該サフィックス抽出部によって抽出した前記各サフィックスを使用して前記パターン格納部を検索するサフィックス検索部と、
該サフィックス検索部によって検索されたサフィックスに関連付けて登録されている登録パターンのプレフィックスについて、前記検索キーのプレフィックスとの一致検証を行うプレフィックス照合部と
を含むことを特徴とする。
前記パターン登録部は、前記登録パターンのサフィックスを前記パターン格納部に登録する際、前記サフィックスに対してハッシュ関数を適用することにより得られるハッシュ値に応じた位置に登録し、
前記サフィックス検索部は、前記サフィックス抽出部によって抽出された各サフィックスに対するハッシュ値を前記ハッシュ関数を用いて求め、該求めた各ハッシュ値を使用して前記パターン格納部を検索する
ことを特徴とする。
可変長文字列データである登録パターンが入力される毎に、予め定められている複数の異なる長さの中から、前記登録パターンの長さ以下で且つ最長の長さを選択し、
前記登録パターンの先頭から該選択した長さ分の文字データをプレフィックスとして抽出すると共に、抽出した該プレフィックスを前記登録パターンに対するインデックス要素としてパターン格納部に登録し、
可変長文字列データである検索キーが入力される毎に、前記検索キーから前記予め定められている複数の異なる長さのプレフィックスを抽出し、
前記パターン格納部に登録したインデックス要素を、該抽出した各長さのプレフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む
ことを特徴とする。
可変長文字列データである登録パターンが入力される毎に、前記登録パターンの先頭から末尾に向かって区切り文字の検出処理を行い、
予め定められた個数の区切り文字を検出した場合は、前記登録パターンの先頭文字から該検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを前記登録パターンに対するインデックス要素としてパターン格納部に登録する一方で、
前記登録パターンの末尾まで区切り文字の検出処理を行っても前記予め定められた個数の区切り文字を検出できなかった場合は、前記登録パターンの先頭文字から最後に検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを前記登録パターンに対するインデックス要素としてパターン格納部に登録し、
可変長文字列データである検索キーが入力される毎に、前記予め定められた個数の区切り文字を検出するまで、前記検索キーの先頭から末尾に向かって区切り文字の検出処理を行い、区切り文字を検出する毎に、前記パターン格納部に登録したインデックス要素を、前記検索キーの先頭文字から検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む
ことを特徴とする。
可変長文字列データである登録パターンが入力される毎に、予め定められている複数の異なる長さの中から、前記登録パターンの長さ以下で且つ最長の長さを選択し、前記登録パターンの末尾から該選択した長さ分の文字データをサフィックスとして抽出すると共に、抽出した該サフィックスを前記登録パターンに対するインデックス要素としてパターン格納部に登録し、
可変長文字列データである検索キーが入力される毎に、前記検索キーから前記予め定められている複数の異なる長さのサフィックスを抽出し、前記パターン格納部に登録したインデックス要素を、該抽出した各長さのサフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む
ことを特徴とする。
可変長文字列データである登録パターンが入力される毎に、前記登録パターンの末尾から先頭に向かって区切り文字の検出処理を行い、
予め定められた個数の区切り文字を検出した場合は、前記登録パターンの末尾文字から該検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを前記登録パターンに対するインデックス要素としてパターン格納部に登録する一方で、
前記登録パターンの先頭まで区切り文字の検出処理を行っても前記予め定められた個数の区切り文字を検出できなかった場合は、前記登録パターンの末尾文字から最後に検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを前記登録パターンに対するインデックス要素としてパターン格納部に登録し、
可変長文字列データである検索キーが入力される毎に、前記予め定められた個数の区切り文字を検出するまで、前記検索キーの末尾から先頭に向かって区切り文字の検出処理を行い、区切り文字を検出する毎に、前記パターン格納部に登録したインデックス要素を、前記検索キーの末尾文字から検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む
ことを特徴とする。
パターン格納部を備えたコンピュータを可変長文字列検索装置として機能させるためのプログラムであって、前記コンピュータを、
可変長文字列データである登録パターンが入力される毎に、予め定められている複数の異なる長さの中から、前記登録パターンの長さ以下で且つ最長の長さを選択し、前記登録パターンの先頭から該選択した長さ分の文字データをプレフィックスとして抽出すると共に、抽出した該プレフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記検索キーから前記予め定められている複数の異なる長さのプレフィックスを抽出し、前記パターン格納部に登録されているインデックス要素を、該抽出した各長さのプレフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部として機能させる。
パターン格納部を備えたコンピュータを可変長文字列検索装置として機能させるためのプログラムであって、前記コンピュータを、
可変長文字列データである登録パターンが入力される毎に、前記登録パターンの先頭から末尾に向かって区切り文字の検出処理を行い、予め定められた個数の区切り文字を検出した場合は、前記登録パターンの先頭文字から該検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録する一方、前記登録パターンの末尾まで区切り文字の検出処理を行っても前記予め定められた個数の区切り文字を検出できなかった場合は、前記登録パターンの先頭文字から最後に検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記予め定められた個数の区切り文字を検出するまで、前記検索キーの先頭から末尾に向かって区切り文字の検出処理を行い、区切り文字を検出する毎に、前記パターン格納部に登録されているインデックス要素を、前記検索キーの先頭文字から検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部として機能させる。
パターン格納部を備えたコンピュータを可変長文字列検索装置として機能させるためのプログラムであって、前記コンピュータを、
可変長文字列データである登録パターンが入力される毎に、予め定められている複数の異なる長さの中から、前記登録パターンの長さ以下で且つ最長の長さを選択し、前記登録パターンの末尾から該選択した長さ分の文字データをサフィックスとして抽出すると共に、抽出した該サフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記検索キーから前記予め定められている複数の異なる長さのサフィックスを抽出し、前記パターン格納部に登録されているインデックス要素を、該抽出した各長さのサフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部として機能させる。
パターン格納部を備えたコンピュータを可変長文字列検索装置として機能させるためのプログラムであって、前記コンピュータを、
可変長文字列データである登録パターンが入力される毎に、前記登録パターンの末尾から先頭に向かって区切り文字の検出処理を行い、予め定められた個数の区切り文字を検出した場合は、前記登録パターンの末尾文字から該検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録する一方、前記登録パターンの先頭まで区切り文字の検出処理を行っても前記予め定められた個数の区切り文字を検出できなかった場合は、前記登録パターンの末尾文字から最後に検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記予め定められた個数の区切り文字を検出するまで、前記検索キーの末尾から先頭に向かって区切り文字の検出処理を行い、区切り文字を検出する毎に、前記パターン格納部に登録されているインデックス要素を、前記検索キーの末尾文字から検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部として機能させる。
本発明にかかる可変長文字列検索装置の第一の実施の形態について図1を参照して説明する。本実施の形態の可変長文字列検索装置1は、大別してパターン登録部131と検索実行部11とパターン格納部12とから構成される。
次に、本実施の形態の動作について詳細に説明する。先ず、パターン登録時の動作を説明し、次に検索時の動作について説明する。なお、以下の説明では、抽出ルールとして、N=4、M=4とした抽出ルールを使用するものとする。即ち、長さが4、8、12、16となる4種類のプレフィックスを抽出する抽出ルールを使用するものとする。
インデックスとしてN種類(N:自然数)の長さのプレフィックスを考え、パターン登録時にはN種類の長さのプレフィックスの中で最長のものをインデックス要素として採用し、検索時にはN種類のプレフィックス全てについてインデックス検索を行う。インデックスとして複数の長さの文字列を収容できることにより、インデックス検索によるパターンの絞り込みを効率的に行うことができ、登録パターンと検索キーのプレフィックス以外の部分の比較照合処理のコストを削減することが可能になる。
第一の実施の形態では、プレフィックス抽出部111が、検索キーから予め定められたN種類の長さのプレフィックスを抽出し、パターン登録部131が、登録パターンから予め定められているN種類の長さに基づいて、インデックス要素とするプレフィックスを抽出するようにしたが、本発明の第二の実施の形態では、インデックス抽出部111が、予め定められた区切り文字に基づいてN種類の長さのプレフィックスを抽出し、パターン登録部131が、登録パターンから予め定められている区切り文字に基づいてインデックス要素とするプレフィックスを抽出することを特徴とする。
第一の実施の形態及び第二の実施の形態は、可変長文字列の前方最長一致検索を行うものであるが、第三の実施の形態は後方最長一致検索を行うことを特徴とする。第3の実施の形態の説明は、図10及び図11を用いて行う。
11、11a…検索実行部
111…プレフィックス抽出部
111a…サフィックス抽出部
112…プレフィックス検索部
112a…サフィックス検索部
113…サフィックス照合部
113a…プレフィックス照合部
12、12a…パターン格納部
121、122a…プレフィックスパターンリスト
121a、122…サフィックスパターンリスト
131、131a…パターン登録部
Claims (16)
- パターン格納部と、
可変長文字列データである登録パターンが入力される毎に、予め定められている複数の異なる長さの中から前記登録パターンの長さ以下で且つ最長の長さを選択し、前記登録パターンの先頭から該選択した長さ分の文字データをプレフィックスとして抽出すると共に、抽出した該プレフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記検索キーから前記予め定められている複数の異なる長さのプレフィックスを抽出し、前記パターン格納部に登録されているインデックス要素を、該抽出した各長さのプレフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部と
を備えたことを特徴とする可変長文字列検索装置。 - パターン格納部と、
可変長文字列データである登録パターンが入力される毎に、前記登録パターンの先頭から末尾に向かって区切り文字の検出処理を行い、予め定められた個数の区切り文字を検出した場合は、前記登録パターンの先頭文字から該検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録する一方、前記登録パターンの末尾まで区切り文字の検出処理を行っても前記予め定められた個数の区切り文字を検出できなかった場合は、前記登録パターンの先頭文字から最後に検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記予め定められた個数の区切り文字を検出するまで、前記検索キーの先頭から末尾に向かって区切り文字の検出処理を行い、区切り文字を検出する毎に、前記パターン格納部に登録されているインデックス要素を、前記検索キーの先頭文字から検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部と
を備えたことを特徴とする可変長文字列検索装置。 - 請求項1または2記載の可変長文字列検索装置において、
前記パターン登録部は、前記登録パターンのプレフィックスを前記パターン格納部に登録する際、前記登録パターンからプレフィックスを除いたサフィックスを前記プレフィックスに関連付けて登録し、
前記検索実行部は、
前記検索キーから前記各プレフィックスを抽出するプレフィックス抽出部と、
該プレフィックス抽出部によって抽出した前記各プレフィックスを使用して前記パターン格納部を検索するプレフィックス検索部と、
該プレフィックス検索部によって検索されたプレフィックスに関連付けて登録されている登録パターンのサフィックスについて、前記検索キーのサフィックスとの一致検証を行うサフィックス照合部と
を含むことを特徴とする可変長文字列検索装置。 - 請求項1乃至3の何れか1項に記載の可変長文字列検索装置において、
前記パターン登録部は、前記登録パターンのプレフィックスを前記パターン格納部に登録する際、前記プレフィックスに対してハッシュ関数を適用することにより得られるハッシュ値に応じた位置に登録し、
前記プレフィックス検索部は、前記プレフィックス抽出部によって抽出された各プレフィックスに対するハッシュ値を前記ハッシュ関数を用いて求め、該求めた各ハッシュ値を使用して前記パターン格納部を検索する
ことを特徴とする可変長文字列検索装置。 - パターン格納部と、
可変長文字列データである登録パターンが入力される毎に、予め定められている複数の異なる長さの中から、前記登録パターンの長さ以下で且つ最長の長さを選択し、前記登録パターンの末尾から該選択した長さ分の文字データをサフィックスとして抽出すると共に、抽出した該サフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記検索キーから前記予め定められている複数の異なる長さのサフィックスを抽出し、前記パターン格納部に登録されているインデックス要素を、該抽出した各長さのサフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部と
を備えたことを特徴とする可変長文字列検索装置。 - パターン格納部と、
可変長文字列データである登録パターンが入力される毎に、前記登録パターンの末尾から先頭に向かって区切り文字の検出処理を行い、予め定められた個数の区切り文字を検出した場合は、前記登録パターンの末尾文字から該検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録する一方、前記登録パターンの先頭まで区切り文字の検出処理を行っても前記予め定められた個数の区切り文字を検出できなかった場合は、前記登録パターンの末尾文字から最後に検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記予め定められた個数の区切り文字を検出するまで、前記検索キーの末尾から先頭に向かって区切り文字の検出処理を行い、区切り文字を検出する毎に、前記パターン格納部に登録されているインデックス要素を、前記検索キーの末尾文字から検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部と
を備えたことを特徴とする可変長文字列検索装置。 - 請求項5または6記載の可変長文字列検索装置において、
前記パターン登録部は、前記登録パターンのサフィックスを前記パターン格納部に登録する際、前記登録パターンからサフィックスを除いたプレフィックスを前記サフィックスに関連付けて登録し、
前記検索実行部は、
前記検索キーから前記各サフィックスを抽出するサフィックス抽出部と、
該サフィックス抽出部によって抽出した前記各サフィックスを使用して前記パターン格納部を検索するサフィックス検索部と、
該サフィックス検索部によって検索されたサフィックスに関連付けて登録されている登録パターンのプレフィックスについて、前記検索キーのプレフィックスとの一致検証を行うプレフィックス照合部と
を含むことを特徴とする可変長文字列検索装置。 - 請求項5乃至7の何れか1項に記載の可変長文字列検索装置において、
前記パターン登録部は、前記登録パターンのサフィックスを前記パターン格納部に登録する際、前記サフィックスに対してハッシュ関数を適用することにより得られるハッシュ値に応じた位置に登録し、
前記サフィックス検索部は、前記サフィックス抽出部によって抽出された各サフィックスに対するハッシュ値を前記ハッシュ関数を用いて求め、該求めた各ハッシュ値を使用して前記パターン格納部を検索する
ことを特徴とする可変長文字列検索装置。 - 可変長文字列データである登録パターンが入力される毎に、予め定められている複数の異なる長さの中から、前記登録パターンの長さ以下で且つ最長の長さを選択し、
前記登録パターンの先頭から該選択した長さ分の文字データをプレフィックスとして抽出すると共に、抽出した該プレフィックスを前記登録パターンに対するインデックス要素としてパターン格納部に登録し、
可変長文字列データである検索キーが入力される毎に、前記検索キーから前記予め定められている複数の異なる長さのプレフィックスを抽出し、
前記パターン格納部に登録したインデックス要素を、該抽出した各長さのプレフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む
ことを特徴とする可変長文字列検索方法。 - 可変長文字列データである登録パターンが入力される毎に、前記登録パターンの先頭から末尾に向かって区切り文字の検出処理を行い、
予め定められた個数の区切り文字を検出した場合は、前記登録パターンの先頭文字から該検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを前記登録パターンに対するインデックス要素としてパターン格納部に登録する一方で、
前記登録パターンの末尾まで区切り文字の検出処理を行っても前記予め定められた個数の区切り文字を検出できなかった場合は、前記登録パターンの先頭文字から最後に検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを前記登録パターンに対するインデックス要素としてパターン格納部に登録し、
可変長文字列データである検索キーが入力される毎に、前記予め定められた個数の区切り文字を検出するまで、前記検索キーの先頭から末尾に向かって区切り文字の検出処理を行い、区切り文字を検出する毎に、前記パターン格納部に登録したインデックス要素を、前記検索キーの先頭文字から検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む
ことを特徴とする可変長文字列検索方法。 - 可変長文字列データである登録パターンが入力される毎に、予め定められている複数の異なる長さの中から、前記登録パターンの長さ以下で且つ最長の長さを選択し、前記登録パターンの末尾から該選択した長さ分の文字データをサフィックスとして抽出すると共に、抽出した該サフィックスを前記登録パターンに対するインデックス要素としてパターン格納部に登録し、
可変長文字列データである検索キーが入力される毎に、前記検索キーから前記予め定められている複数の異なる長さのサフィックスを抽出し、前記パターン格納部に登録したインデックス要素を、該抽出した各長さのサフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む
ことを特徴とする可変長文字列検索方法。 - 可変長文字列データである登録パターンが入力される毎に、前記登録パターンの末尾から先頭に向かって区切り文字の検出処理を行い、
予め定められた個数の区切り文字を検出した場合は、前記登録パターンの末尾文字から該検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを前記登録パターンに対するインデックス要素としてパターン格納部に登録する一方で、
前記登録パターンの先頭まで区切り文字の検出処理を行っても前記予め定められた個数の区切り文字を検出できなかった場合は、前記登録パターンの末尾文字から最後に検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを前記登録パターンに対するインデックス要素としてパターン格納部に登録し、
可変長文字列データである検索キーが入力される毎に、前記予め定められた個数の区切り文字を検出するまで、前記検索キーの末尾から先頭に向かって区切り文字の検出処理を行い、区切り文字を検出する毎に、前記パターン格納部に登録したインデックス要素を、前記検索キーの末尾文字から検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む
ことを特徴とする可変長文字列検索方法。 - パターン格納部を備えたコンピュータを可変長文字列検索装置として機能させるためのプログラムであって、前記コンピュータを、
可変長文字列データである登録パターンが入力される毎に、予め定められている複数の異なる長さの中から、前記登録パターンの長さ以下で且つ最長の長さを選択し、前記登録パターンの先頭から該選択した長さ分の文字データをプレフィックスとして抽出すると共に、抽出した該プレフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記検索キーから前記予め定められている複数の異なる長さのプレフィックスを抽出し、前記パターン格納部に登録されているインデックス要素を、該抽出した各長さのプレフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部として機能させるためのプログラム。 - パターン格納部を備えたコンピュータを可変長文字列検索装置として機能させるためのプログラムであって、前記コンピュータを、
可変長文字列データである登録パターンが入力される毎に、前記登録パターンの先頭から末尾に向かって区切り文字の検出処理を行い、予め定められた個数の区切り文字を検出した場合は、前記登録パターンの先頭文字から該検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録する一方、前記登録パターンの末尾まで区切り文字の検出処理を行っても前記予め定められた個数の区切り文字を検出できなかった場合は、前記登録パターンの先頭文字から最後に検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記予め定められた個数の区切り文字を検出するまで、前記検索キーの先頭から末尾に向かって区切り文字の検出処理を行い、区切り文字を検出する毎に、前記パターン格納部に登録されているインデックス要素を、前記検索キーの先頭文字から検出した区切り文字の直前の文字までの文字列によって構成されるプレフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部として機能させるためのプログラム。 - パターン格納部を備えたコンピュータを可変長文字列検索装置として機能させるためのプログラムであって、前記コンピュータを、
可変長文字列データである登録パターンが入力される毎に、予め定められている複数の異なる長さの中から、前記登録パターンの長さ以下で且つ最長の長さを選択し、前記登録パターンの末尾から該選択した長さ分の文字データをサフィックスとして抽出すると共に、抽出した該サフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記検索キーから前記予め定められている複数の異なる長さのサフィックスを抽出し、前記パターン格納部に登録されているインデックス要素を、該抽出した各長さのサフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部として機能させるためのプログラム。 - パターン格納部を備えたコンピュータを可変長文字列検索装置として機能させるためのプログラムであって、前記コンピュータを、
可変長文字列データである登録パターンが入力される毎に、前記登録パターンの末尾から先頭に向かって区切り文字の検出処理を行い、予め定められた個数の区切り文字を検出した場合は、前記登録パターンの末尾文字から該検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録する一方、前記登録パターンの先頭まで区切り文字の検出処理を行っても前記予め定められた個数の区切り文字を検出できなかった場合は、前記登録パターンの末尾文字から最後に検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを前記登録パターンに対するインデックス要素として前記パターン格納部に登録するパターン登録部と、
可変長文字列データである検索キーが入力される毎に、前記予め定められた個数の区切り文字を検出するまで、前記検索キーの末尾から先頭に向かって区切り文字の検出処理を行い、区切り文字を検出する毎に、前記パターン格納部に登録されているインデックス要素を、前記検索キーの末尾文字から検出した区切り文字の直後の文字までの文字列によって構成されるサフィックスを使用して検索することにより、検索対象となる登録パターンを絞り込む検索実行部として機能させるためのプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003402741A JP4114600B2 (ja) | 2003-12-02 | 2003-12-02 | 可変長文字列検索装置及び可変長文字列検索方法並びにプログラム |
US11/000,913 US20050120017A1 (en) | 2003-12-02 | 2004-12-02 | Efficient retrieval of variable-length character string data |
US12/965,602 US8095526B2 (en) | 2003-12-02 | 2010-12-10 | Efficient retrieval of variable-length character string data |
US13/276,676 US8200646B2 (en) | 2003-12-02 | 2011-10-19 | Efficient retrieval of variable-length character string data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003402741A JP4114600B2 (ja) | 2003-12-02 | 2003-12-02 | 可変長文字列検索装置及び可変長文字列検索方法並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005165598A JP2005165598A (ja) | 2005-06-23 |
JP4114600B2 true JP4114600B2 (ja) | 2008-07-09 |
Family
ID=34616758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003402741A Expired - Fee Related JP4114600B2 (ja) | 2003-12-02 | 2003-12-02 | 可変長文字列検索装置及び可変長文字列検索方法並びにプログラム |
Country Status (2)
Country | Link |
---|---|
US (3) | US20050120017A1 (ja) |
JP (1) | JP4114600B2 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7617197B2 (en) * | 2005-08-19 | 2009-11-10 | Google Inc. | Combined title prefix and full-word content searching |
US7711719B1 (en) * | 2005-03-24 | 2010-05-04 | Palamida, Inc. | Massive multi-pattern searching |
US7565348B1 (en) * | 2005-03-24 | 2009-07-21 | Palamida, Inc. | Determining a document similarity metric |
US7630982B2 (en) | 2007-02-24 | 2009-12-08 | Trend Micro Incorporated | Fast identification of complex strings in a data stream |
JP5193518B2 (ja) * | 2007-07-13 | 2013-05-08 | 株式会社東芝 | パターン探索装置及びその方法 |
JP5472108B2 (ja) * | 2008-08-22 | 2014-04-16 | 日本電気株式会社 | 検索装置、検索方法およびプログラム |
IL199115A (en) | 2009-06-03 | 2013-06-27 | Verint Systems Ltd | Systems and methods for efficiently locating keywords in communication traffic |
JP5614338B2 (ja) * | 2011-03-14 | 2014-10-29 | 富士通株式会社 | 検索装置、プログラム及び方法 |
IL224482B (en) | 2013-01-29 | 2018-08-30 | Verint Systems Ltd | System and method for keyword spotting using representative dictionary |
US9171063B2 (en) * | 2013-03-13 | 2015-10-27 | Facebook, Inc. | Short-term hashes |
US9977802B2 (en) * | 2013-11-21 | 2018-05-22 | Sap Se | Large string access and storage |
US9977801B2 (en) | 2013-11-21 | 2018-05-22 | Sap Se | Paged column dictionary |
US10235377B2 (en) | 2013-12-23 | 2019-03-19 | Sap Se | Adaptive dictionary compression/decompression for column-store databases |
US9940322B2 (en) | 2014-03-31 | 2018-04-10 | International Business Machines Corporation | Term consolidation for indices |
US10798000B2 (en) | 2014-12-22 | 2020-10-06 | Arista Networks, Inc. | Method and apparatus of compressing network forwarding entry information |
US9680749B2 (en) | 2015-02-27 | 2017-06-13 | Arista Networks, Inc. | System and method of using an exact match table and longest prefix match table as a combined longest prefix match |
IL242219B (en) | 2015-10-22 | 2020-11-30 | Verint Systems Ltd | System and method for keyword searching using both static and dynamic dictionaries |
IL242218B (en) | 2015-10-22 | 2020-11-30 | Verint Systems Ltd | A system and method for maintaining a dynamic dictionary |
FR3078573B1 (fr) * | 2018-03-05 | 2022-01-14 | Delta Dore | Procede d'analyse lexicale |
JP7562440B2 (ja) | 2021-02-09 | 2024-10-07 | キオクシア株式会社 | 文字列検索装置及びメモリシステム |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0470798B1 (en) * | 1990-08-06 | 1997-10-29 | Fujitsu Limited | Dictionary searching system |
JPH04209069A (ja) | 1990-12-03 | 1992-07-30 | Nec Corp | 前方一致文字列検索方式 |
JPH06162092A (ja) | 1992-11-18 | 1994-06-10 | Fujitsu Ltd | 情報検索装置 |
JP2682448B2 (ja) | 1994-05-23 | 1997-11-26 | 日本電気株式会社 | 索引検索方式 |
US6151565A (en) * | 1995-09-08 | 2000-11-21 | Arlington Software Corporation | Decision support system, method and article of manufacture |
JP3143079B2 (ja) * | 1997-05-30 | 2001-03-07 | 松下電器産業株式会社 | 辞書索引作成装置と文書検索装置 |
US6938040B2 (en) * | 1998-04-28 | 2005-08-30 | International Business Machines Corporation | Pattern matching in communications network where first memory stores set of patterns, and second memory stores mask data identifying patterns in the first memory |
JP3696731B2 (ja) | 1998-04-30 | 2005-09-21 | 株式会社日立製作所 | 構造化文書の検索方法および装置および構造化文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6507678B2 (en) * | 1998-06-19 | 2003-01-14 | Fujitsu Limited | Apparatus and method for retrieving character string based on classification of character |
JP2000029879A (ja) | 1998-07-14 | 2000-01-28 | Canon Inc | 文書検索装置及び制御方法 |
WO2001090879A1 (en) * | 2000-05-26 | 2001-11-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for displaying information |
JP2002049645A (ja) | 2000-08-02 | 2002-02-15 | Nec Soft Ltd | ハッシュ値算出方法、ハッシュ値算出装置、検索方法、検索装置、記録媒体 |
JP3672242B2 (ja) * | 2001-01-11 | 2005-07-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | パターン検索方法、パターン検索装置、コンピュータプログラム及び記憶媒体 |
JP4065695B2 (ja) | 2001-01-24 | 2008-03-26 | 住友電気工業株式会社 | 文字列類似度算出装置、文字列類似度算出プログラム、それを記録したコンピュータ読み取り可能な記録媒体および文字列類似度算出方法 |
US6910097B1 (en) * | 2001-04-09 | 2005-06-21 | Netlogic Microsystems, Inc. | Classless interdomain routing using binary content addressable memory |
US6785677B1 (en) * | 2001-05-02 | 2004-08-31 | Unisys Corporation | Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector |
US7177313B2 (en) * | 2002-05-23 | 2007-02-13 | International Business Machines Corporation | Method and system for converting ranges into overlapping prefixes for a longest prefix match |
JP2004013504A (ja) * | 2002-06-06 | 2004-01-15 | Univ Hiroshima | パターン認識システム、このシステムに用いられる連想メモリ装置及びパターン認識処理方法 |
US6829602B2 (en) * | 2002-12-12 | 2004-12-07 | Microsoft Corporation | System and method for using a compressed trie to estimate like predicates |
-
2003
- 2003-12-02 JP JP2003402741A patent/JP4114600B2/ja not_active Expired - Fee Related
-
2004
- 2004-12-02 US US11/000,913 patent/US20050120017A1/en not_active Abandoned
-
2010
- 2010-12-10 US US12/965,602 patent/US8095526B2/en not_active Expired - Fee Related
-
2011
- 2011-10-19 US US13/276,676 patent/US8200646B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8095526B2 (en) | 2012-01-10 |
US20110078153A1 (en) | 2011-03-31 |
US8200646B2 (en) | 2012-06-12 |
US20050120017A1 (en) | 2005-06-02 |
US20120041958A1 (en) | 2012-02-16 |
JP2005165598A (ja) | 2005-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4114600B2 (ja) | 可変長文字列検索装置及び可変長文字列検索方法並びにプログラム | |
US10169354B2 (en) | Indexing and search query processing | |
JP3672242B2 (ja) | パターン検索方法、パターン検索装置、コンピュータプログラム及び記憶媒体 | |
US8504553B2 (en) | Unstructured and semistructured document processing and searching | |
JP3889762B2 (ja) | データ圧縮方法、プログラム及び装置 | |
US8005819B2 (en) | Indexing and searching product identifiers | |
US7739111B2 (en) | Pattern matching method and apparatus and speech information retrieval system | |
JP5138046B2 (ja) | 検索システム、検索方法およびプログラム | |
JP2006519445A (ja) | 文字列検索の方法および設備 | |
JP2009512099A (ja) | トライでの再始動可能なハッシュの方法及び装置 | |
JP6447161B2 (ja) | 意味構造検索プログラム、意味構造検索装置、及び意味構造検索方法 | |
JPH09288676A (ja) | 全文インデックス作成装置および全文データベース検索装置 | |
JP5072832B2 (ja) | 署名生成および関連性を有するマッチングエンジン | |
JPH1139315A (ja) | フォーマットされた文書を順序付けされたワードリストへ変換する方法 | |
WO2022019275A1 (ja) | 文書検索装置、文書検索システム、文書検索プログラム、および文書検索方法 | |
CN113065419B (zh) | 一种基于流量高频内容的模式匹配算法及系统 | |
JP4558369B2 (ja) | 情報抽出システム、情報抽出方法、コンピュータプログラム | |
JP5041003B2 (ja) | 検索装置および検索方法 | |
JP4682627B2 (ja) | 文書検索装置および方法 | |
JP6044422B2 (ja) | 略称生成方法および略称生成装置 | |
JPH10149367A (ja) | テキスト蓄積検索装置 | |
KR101910491B1 (ko) | 가변길이 그램의 역리스트 동적 생성을 이용한 유사 문자열 검색 방법 및 장치 | |
JP4061283B2 (ja) | 字句をデータに変換する装置、方法及びプログラム | |
KR100738519B1 (ko) | 자국어 표기를 이용한 인터넷 주소의 처리 방법 및 이를실행하기 위한 프로그램을 기록한 기록매체 | |
KR101080898B1 (ko) | 문자열 색인 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080121 |
|
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: 20080325 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080407 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4114600 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120425 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120425 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130425 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130425 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140425 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |