JP2006134191A - 文書検索方法およびそのシステム - Google Patents

文書検索方法およびそのシステム Download PDF

Info

Publication number
JP2006134191A
JP2006134191A JP2004324475A JP2004324475A JP2006134191A JP 2006134191 A JP2006134191 A JP 2006134191A JP 2004324475 A JP2004324475 A JP 2004324475A JP 2004324475 A JP2004324475 A JP 2004324475A JP 2006134191 A JP2006134191 A JP 2006134191A
Authority
JP
Japan
Prior art keywords
search
document
range
server
index
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
Application number
JP2004324475A
Other languages
English (en)
Inventor
Tadataka Matsubayashi
忠孝 松林
Giyu Iijima
岐勇 飯島
Yuichi Ogawa
祐一 小川
Masateru Yotsuya
雅輝 四ッ谷
Shinya Yamamoto
伸也 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004324475A priority Critical patent/JP2006134191A/ja
Priority to US11/185,733 priority patent/US7689545B2/en
Publication of JP2006134191A publication Critical patent/JP2006134191A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】データ量の増加に応じて検索サーバを増設した場合でも各検索サーバにおける検索処理時間をほぼ均等にし、必要最小限のコストで検索結果を取得すること。
【解決手段】検索対象文書の登録処理として、 各ページ毎に格納された文書識別子の範囲とそのページのページ識別子を管理する文書識別子管理テーブルを作成し、各検索サーバが担当する文書識別子の範囲を管理する検索サーバ別検索範囲管理テーブルを作成し、検索対象文書の各検索サーバにおける検索処理として、前記検索サーバ別検索範囲管理テーブルを参照し、割り当てられた文書識別子の範囲を取得し、検索条件として指定された検索タームを構成する各インデクスキーについて、前記文書識別子管理テーブルを参照し、上記割り当てられた範囲の文書識別子を蓄積しているページ識別子を取得し、上記取得されたページ識別子で示されるページを参照することにより、検索処理を行なう。
【選択図】 図1

Description

本発明は、蓄積された文書データを複数の計算機で並列に検索する文書検索方法並びにそのシステムに関し、特に検索処理を分担する計算機数の変更方法に関する。
近年、パーソナルコンピュータやインターネット等の普及に伴い、電子化文書が爆発的に増加しており、今後もさらに増大していくものと予想される。このような状況において、ユーザが所望する情報を含んだ文書を高速に検索したいという要求が高まってきている。
こうした要望に応える技術として、検索条件として指定された文字列(以下、検索タームと呼ぶ)を含む文書を探し出す全文検索技術が注目されている。
この全文検索技術としては、例えば、検索対象となる文書中に出現するn文字の長さの文字列(以下、n-gramと呼ぶ)の出現位置を該文書に付与された文書識別子と共に蓄積した文字列インデクスを作成しておき、検索条件として指定された検索タームを構成するn-gramの該検索ターム内での出現順序を、該当する文字列インデクスを参照することにより得られる検索対象文書内での出現順序と比較することにより、検索条件に適合する文書と判定する方法が特許文献1に開示されている。
特許文献1によれば、検索タームを構成するn-gramに対して作成された文字列インデクスを参照するだけで検索処理を行うことができるため、検索対象文書数によらず、高速に所望する文書を検索できる。
以上示した特許文献1を用いることにより、所望する情報を含んだ文書を高速に検索することができる。
データの増加に伴い検索サーバを追加する方法としては、既存のデータは移動せず、新規に追加されたデータを追加された検索サーバに割り当てるデータベース管理方法が、特許文献2に開示されている。
また、所定の論理的な単位であるバケット別にデータを予め分割管理しておくことにより、データの再配置を高速に実現するデータベース管理方法が特許文献3に開示されている。
特開平8−194718号公報 特開平9−293006号公報 特開2001−142752号公報
しかし、特許文献1を適用した文書検索システムを導入したとしても、検索対象文書の増加に応じて作成される文字列インデクスの容量も増加するため、次第に検索速度が低下するようになる。
このため、文書検索システムを複数の検索サーバを用いて構成することにより、検索サーバ1台あたりの検索対象文書数を削減する方法が採用される。
特許文献2に示したデータベース管理方法を用いて検索サーバを増設した場合、既存の検索サーバに蓄積されているデータは移動されない。したがって、既存の検索サーバによる検索処理時間は改善されないため、システム全体としての検索処理時間は改善されず、検索サーバ増設の目的を達成できない。すなわち、特許文献2の方法を適切に用いるためには、十分な検索処理時間が得られる状況で検索サーバを増設する必要があり、実運用上検索サーバ増設時期の判断が難しい。
また、特許文献3に示したデータベース管理方法を用いた場合には、全ての検索サーバに対してデータがほぼ均等に割り当てられることになるため、システム全体としての検索処理時間を改善することができる。しかし、予め検索サーバの増設を見込み、データを所定のバケット単位に管理しているため、同様に、文字列インデクスもバケット単位に管理する必要がある。このため、検索処理実行時には、バケット毎に文字列インデクスを参照して作成した第一の検索結果を作成し、全てのバケットにおいて第一の検索結果をマージして第二の検索結果を検索サーバ毎に作成する。そして、この第二の検索結果を全ての検索サーバに渡ってマージすることにより、最終的な検索結果を得ることになる。すなわち、検索結果のマージ処理を所定のバケット数に応じて行なう必要があり、検索処理におけるコストが大きくなってしまう課題がある。
本発明では、データ量の増加に応じて検索サーバを増設した場合でも各検索サーバにおける検索処理時間をほぼ均等にすることができ、必要最小限のコストで検索結果を取得することを可能とする文書検索方法を提供することを目的とする。
前記課題を解決するために、本発明では、一つ以上の検索サーバを用いて、文書データベースに蓄積された文書の中から指定された検索条件に適合する文書を検索する文書検索方法において、該文書に含まれる文字列に対するインデクスを作成するステップと、上記作成されたインデクスを構成する所定の大きさの管理単位別に、各管理単位に格納される文書の範囲を管理するインデクス管理テーブルを作成するステップと、各検索サーバで検索する文書の範囲である担当範囲を決定するステップと、前記インデクス管理テーブルを参照し、上記決定された担当範囲を検索するためのインデクスの管理単位を特定するステップと、上記特定された管理単位のインデクスを参照することにより、検索を実行するステップを有することを特徴とする。
以上説明したように、本発明では、管理単位別に格納された文書識別子の範囲を管理し、検索サーバ別の検索範囲を管理しておくことにより、各検索サーバは割り当てられた範囲の文書識別子を高速に取得することができるようになる。
以下、本発明の第一の実施例について図1を用いて説明する。
本発明を適用した文書検索システムの第一例は、システム管理サーバ100、検索サーバ101、磁気ディスク装置102、検索クライアント103、およびこれらを接続するネットワーク104から構成される。
以下、システム管理サーバ100のシステム構成について説明する。
システム管理サーバ100は、ディスプレイ110、キーボード111、中央演算処理装置(CPU)112、フロッピディスクドライブ(FDD)113、ネットワークボード(Ether)114、主メモリ115およびこれらを結ぶバス116から構成される。 FDD113を介してフロッピディスク117に格納されている情報が、主メモリ115へ読み込まれ、ネットワーク104を介して磁気ディスク装置102へ格納される。
システム管理サーバ100の主メモリ115には、システム制御プログラム120、登録制御プログラム121、検索制御プログラム122、検索サーバ管理制御プログラム123、テキスト抽出登録プログラム130、文字列インデクス作成プログラム131、文書識別子管理テーブル作成プログラム132、検索条件配送プログラム135、検索結果集約プログラム136、検索結果出力プログラム137および検索サーバ別検索範囲設定プログラム138が格納される共に、ワークエリア140が確保される。
システム制御プログラム120は登録制御プログラム121、検索制御プログラム122および検索サーバ管理制御プログラム123で構成される。
登録制御プログラム121はテキスト抽出登録プログラム130、文字列インデクス作成プログラム131および文書識別子管理テーブル作成プログラム132で構成される。
検索制御プログラム122は検索条件配送プログラム135、検索結果集約プログラム136および検索結果出力プログラム137で構成される。
検索サーバ管理制御プログラム123は検索サーバ別検索範囲設定プログラム138で構成される。
登録制御プログラム121、検索制御プログラム122および検索サーバ管理制御プログラム123は、キーボード111あるいはネットワーク104に接続された検索クライアント103からのユーザによる指示に応じてシステム制御プログラム120によって起動され、
それぞれテキスト抽出登録プログラム130、文字列インデクス作成プログラム131および文書識別子管理テーブル作成プログラム132の制御と、
検索条件配送プログラム135、検索結果集約プログラム136および検索結果出力プログラム137の制御と、検索サーバ別検索範囲設定プログラム138の制御を行なう。
以上が、システム管理サーバ100のシステム構成である。
次に、検索サーバ101のシステム構成について説明する。
検索サーバ101は、中央演算処理(CPU)180、ネットワークボード(Ether)181および主メモリ182およびこれらを結ぶバス183から構成される。
検索サーバ101の主メモリ182には、検索サーバ制御プログラム150、検索条件解析プログラム151、担当範囲取得プログラム152、担当ページ識別子取得プログラム153、ページ読込照合プログラム154および検索結果送信プログラム155が格納されると共に、ワークエリア160が確保される。
検索サーバ制御プログラム150は、検索条件解析プログラム151、担当範囲取得プログラム152、担当ページ識別子取得プログラム153、ページ読込照合プログラム154および検索結果送信プログラム155で構成される。
検索サーバ制御プログラム150は、ネットワーク104を介してシステム管理サーバより配送される検索実行のコマンドによって起動され、
検索条件解析プログラム151、担当範囲取得プログラム152、担当ページ識別子取得プログラム153、ページ読込照合プログラム154および検索結果送信プログラム155の制御を行なう。
以上が、検索サーバ101のシステム構成である。
磁気ディスク装置102は二次記憶装置の一つであり、テキスト170、文字列インデクス171、文書識別子管理テーブル172、検索サーバ別検索範囲管理テーブル173および検索サーバ管理テーブル174が格納される。以上が、本発明を適用した文書検索システムのシステム構成である。
なお、本実施例では、システム管理サーバ100上のキーボード111あるいはネットワーク104に接続された検索クライアント103から入力されたコマンドにより、登録制御プログラム121、検索制御プログラム122、あるいは検索サーバ管理制御プログラム123が起動されるものとしたが、他の入力装置を介して入力されたコマンドあるいはイベントにより起動されるものであっても構わない。
また、これらのプログラムを磁気ディスク装置102、フロッピディスク117、あるいはMO、CD−ROM、DVD等の記憶媒体(図1には示していない)に格納し、駆動装置を介してシステム管理サーバ100上の主メモリ115や検索サーバ101の主メモリ182に読み込み、システム管理サーバ100上のCPU112あるいは検索サーバ上のCPU180によって実行することも可能である。
また、これらのプログラムをネットワーク104を介してシステム管理サーバ100の主メモリ115や検索サーバ101の主メモリ182に読み込み、システム管理サーバ100上のCPU112あるいは検索サーバ上のCPU180によって実行することも可能である。
さらに、本実施例ではテキスト170、文字列インデクス171、文書識別子管理テーブル172、検索サーバ別検索範囲管理テーブル173および検索サーバ管理テーブル174を磁気ディスク装置102に格納するものとしたが、システム管理サーバ100の主メモリ115や検索サーバ101の主メモリ182に格納されるものであってもよいし、あるいはフロッピディスク117、MO、CD−ROM、DVD等の記憶媒体(図1には示していない)に格納し、駆動装置を介してシステム管理サーバ100の主メモリ115や検索サーバ101の主メモリ182に読み込み利用することも可能である。
また、システム管理サーバ100のワークエリア140や検索サーバ101のワークエリア160は、それぞれシステム管理サーバ100の主メモリ115および検索サーバ101の主メモリ182上に確保されるものとしたが、磁気ディスク装置102に確保されるものであってもよいし、フロッピディスク117、MO、CD−R、DVD等の書き込み可能な記憶媒体(図1には示していない)に確保されるものであっても構わない。
また、本実施例では、システム管理サーバ100、検索サーバ101および検索クライアント103は、物理的に異なるサーバを用いて構成されるものとしたが、同一のサーバであっても構わない。
また、本実施例では、システム管理サーバ100、検索サーバ101、磁気ディスク装置102および検索クライアント103が同一のネットワーク104に接続されるものとしたが、物理的に異なるネットワークで接続されるものであっても構わない。
以下、本実施例における文書検索システムの処理手順について説明する。
まず、システム管理サーバ100のシステム制御プログラム120の処理手順について、図2のPAD図を用いて説明する。
システム制御プログラム120は、キーボード111から入力されたコマンドの種類を解析する(ステップ200)。
この結果が、登録実行のコマンドであると解析された場合には、登録制御プログラム121を起動し、登録実行のコマンドで指定された文書の登録処理を実行する(ステップ210)。
また、上記ステップ200で、検索実行のコマンドであると解析された場合には、検索制御プログラム122を起動し、検索実行のコマンドで指定された検索条件に適合する文書の検索処理を実行する(ステップ220)。
また、前記ステップ200で、検索サーバ管理実行のコマンドであると解析された場合には、検索サーバ管理プログラム123を起動し、検索サーバの管理を行なう(ステップ230)。
以上が、システム管理サーバ100のシステム制御プログラム120の処理手順である。
次に、図2に示したステップ210でシステム制御プログラム120により起動される登録制御プログラム121の処理手順について、図3のPAD図を用いて説明する。
登録制御プログラム121は、まずコマンドで指定された文書を読み込み、ワークエリア140に格納する(ステップ300)。
次に、テキスト抽出登録プログラム130を起動し、上記ステップ300でワークエリア140に格納された文書からテキストを抽出しワークエリア140に格納すると共に、テキスト170として磁気ディスク装置102に格納する(ステップ301)。
次に、文字列インデクス作成プログラム131を起動し、上記ステップ301でワークエリア140に格納されたテキストに対する文字列インデクスを作成し、文字列インデクス171として磁気ディスク装置102に格納する(ステップ302)。
次に、文書識別子管理テーブル作成プログラム132を起動し、上記ステップ302で作成された文字列インデクス171の各ページ毎に、格納された文書識別子を取得し、そのページのページ識別子と共に磁気ディスク装置102上の文書識別子管理テーブル172に格納する(ステップ303)。以上が、登録制御プログラム121の処理手順である。
次に、図2に示したステップ220でシステム制御プログラム120により起動される検索制御プログラム122の処理手順について、図4のPAD図を用いて説明する。
検索制御プログラム122は、まず検索条件配送プログラム135を起動し、コマンドで指定された検索条件式を各検索サーバ101へ配送する(ステップ400)。
図1に示した検索サーバ101は、一つしか記載していないが、このステップでは、複数個から構成されるサーバ101のいずれにも検索条件式を配送する。
次に、検索結果集約プログラム136を起動し、各検索サーバ101から返送された検索サーバ別の検索結果集合(以下、検索サーバ別検索結果集合と呼ぶ)を集約し、全検索結果集合としてワークエリア140に格納する(ステップ401)。
そして、検索結果出力プログラム137を起動し、上記ステップ401でワークエリア140に格納された全検索結果集合を出力する(ステップ402)。
以上が、検索制御プログラム122の処理手順である。
次に、図4に示したステップ400で配送される検索条件式を受け、各検索サーバ101で起動される検索サーバ制御プログラム150の処理手順について、図5のPAD図を用いて説明する。
検索サーバ制御プログラム150は、まず検索条件解析プログラム151を起動し、前記図4に示したステップ400でシステム管理サーバ100より配送された検索条件式に含まれる検索タームを抽出し、ワークエリア160に格納する(ステップ500)。
次に、担当範囲取得プログラム152を起動し、検索サーバ別検索範囲管理テーブル173から担当する文書識別子の範囲(以下、担当文書範囲と呼ぶ)を取得し、ワークエリア160に格納する(ステップ501)。
次に、担当ページ識別子取得プログラム153を起動し、前記ステップ500で検索条件解析プログラム151によりワークエリア160に格納された検索タームと、
前記ステップ501で担当範囲取得プログラム152によりワークエリア160に格納された担当文書範囲に対応するページ(以下、担当ページと呼ぶ)のページ識別子を文書識別子管理テーブル172から取得し、ワークエリア160に格納する(ステップ502)。
次に、ページ読込照合プログラム154を起動し、上記ステップ502で担当ページ識別子取得プログラム153によりワークエリア160に格納された担当ページのページ識別子に対応する文字列インデクス171を参照することにより、検索条件に適合する文書の文書識別子を取得し、検索サーバ別検索結果集合としてワークエリア160に格納する(ステップ503)。
次に、検索結果送信プログラム155を起動し、上記ステップ503でワークエリア160に格納された検索サーバ別検索結果集合をシステム管理サーバへ送信する(ステップ504)。
以上が、各検索サーバ101で起動される検索サーバ制御プログラム150の処理手順である。
次に、図2に示したステップ230でシステム制御プログラム120により起動される検索サーバ管理制御プログラム123の処理手順について、図6を用いて説明する。
検索サーバ管理制御プログラム123は、まずテキスト170を参照し、蓄積された文書件数を取得し、ワークエリア140に格納する(ステップ600)。
次に、検索サーバ管理テーブル174を参照し、検索処理可能な検索サーバ数を取得し、ワークエリア140に格納する(ステップ601)。
次に、検索サーバ別検索範囲設定プログラム138を起動し、前記ステップ600でワークエリア140に格納された文書件数と、
前記ステップ601でワークエリアに格納された検索サーバ数を用いて、各検索サーバに配分する文書識別子を決定し、検索サーバ別検索範囲管理テーブル173に格納する(ステップ602)。
以上が、検索サーバ管理制御プログラム123の処理手順である。
以下、本発明の第一の実施例における文書検索システムの具体的な処理手順を図7および図8を用いて説明する。
まず、本発明の第一の実施例に示した文書検索システムにおける文書の登録処理(図3)について図7を用いて具体的に説明する。
図7は、文書1「〜 Our Product 〜 10% Coconut Juice With Meat 25% Orange Juice 30% Mango Juice 40% Guava Juice 40% Lychee Juice 55% Passion Fruit with pineapple juice 100% Pineapple Juice 」および文書2「Cinnamon Pineapple Pork Stir in pineapple and juice, wine, ginger root, jalapeno pepper and cinnamon; simmer until liquid is reduced to 1/4 cup. Spoon pineapple mixture over cooked pork pieces; sprinkle with cilantro」が登録される場合の処理の流れを表しており、
本図に示した例では、文書1および文書2に対して図3に示したステップ300およびステップ301が実行され、テキスト701およびテキスト702が抽出された状態を表している。
次に、図3に示したステップ302が実行され、文字列インデクス作成プログラム131によりテキスト701およびテキスト702に対する文字列インデクス171が作成される。
本図に示した例では、テキスト701およびテキスト702から、スペース等をデリミタとして抽出された単語「1/4」、「juice」および「pineapple」に対し、それぞれ文字列インデクス710、文字列インデクス711および712が作成された状態を表している。
また、本図に示した例では、単語「1/4」の出現文書番号および該文書内での出現位置を表す情報(以下、インデクス情報と呼ぶ)である「(2,22)」が文字列インデクス710として格納されており、該インデクス情報はページ識別子が「101」であるページに格納されることを表している。ここで、インデクス情報「(2,22)」は、該単語が文書2の22番目の単語として出現していることを表している。
同様に、単語「juice」に関するインデクス情報「(1,5)」「(1,10)」「(1,13)」「(1,16)」「(1,19)」「(1,25)」「(1,28)」「(2,8)」がそれぞれページ識別子が「2001」「2002」「2003」であるページに分けて格納されており、各ページがポインタで接続されていることを表しており、また、単語「pineapple」に関するインデクス情報「(1,24)」「(1,27)」「(2,2)」「(2,6)」「(2,25)」がそれぞれページ識別子が「3201」「3202」であるページに分けて格納されており、各ページがポインタで接続されていることを表している。
次に、図3に示したステップ303が実行され、文書識別子管理テーブル作成プログラム132により、各単語のインデクス情報が文書識別子管理テーブル172に格納される。
本図に示した例では、各単語のインデクス情報がページ単位の最小文書識別子と最大文書識別子と共に管理されている状態を表しており、文書識別子管理テーブル172内の「index key」、「page ID」、「min Doc ID」および「max Doc ID」は、それぞれ格納されている単語の文字列、該単語が格納されているページ識別子、該ページに格納されている最小の文書識別子および最大の文書識別子を表している。
例えば、単語「1/4」に関するエントリからは、単語「1/4」のインデクス情報はページ識別子「101」であるページに格納されており、該ページに格納されている最小文書識別子および最大文書識別子は「2」であることを表している。
以上が、本実施例に示した文書検索システムにおける文書の登録処理の具体的な流れである。
次に、本発明の第一の実施例に示した文書検索システムにおける文書の検索処理(図4および図5)と検索サーバ管理処理(図6)の流れを図8を用いて具体的に説明する。
図8は、前記文書1および文書2が登録された文書データベースに対し、単語「juice」が検索条件として指定された場合の例を表している。本図では、該検索条件に対する検索処理を2つの検索サーバで分担して実行する場合の例を示している。
まず、検索サーバ管理処理として図6に示したステップ600が実行され、テキスト170に格納されている文書(以下、登録文書と呼ぶ)の件数を取得する。
本図に示した例では、登録文書の件数として「2」が取得されており、テキスト170には2件の文書が格納されている状態を表している。
次に、図6に示したステップ601が実行され、検索サーバ管理テーブル174に格納されている検索サーバの個数を取得する。
本図に示した例では、検索サーバ管理テーブル174には、検索サーバ識別子として「検索サーバ1」で表される検索サーバ(以下、検索サーバ1と呼ぶ)と、検索サーバ識別子として「検索サーバ2」で表される検索サーバ(以下、検索サーバ2と呼ぶ)の2つのサーバが格納されており、検索サーバの個数として「2」が取得されている状態を表している。
次に図6に示したステップ602が実行され、検索サーバ別検索範囲設定プログラム138により各検索サーバで担当する文書識別子の範囲が決定され、検索サーバ別検索範囲管理テーブル173に格納される。
本図に示した例では、登録文書数801として「2」が設定され、検索サーバ数802として「2」が設定されていることから、各検索サーバに対して1件ずつの担当文書範囲が設定され、検索サーバ1には文書1が、検索サーバ2には文書2が割り当てられている状態を表している。ここで、担当文書範囲における「m〜n」という記載は、文書識別子がm以上n以下の文書が割り当てられていることを表している。
以上が検索サーバ管理処理の流れである。
次に、システム管理サーバ100における文書の検索処理として、図4に示したステップ400が実行され、検索条件配送プログラム135により各検索サーバ101に対して検索条件を配送する。本図に示した例では、入力された検索条件803「juice」が検索サーバ1および検索サーバ2にそれぞれ配送されている様子を表している。
次に、各検索サーバ101において図5に示したステップ501が実行され、担当範囲取得プログラム152により各検索サーバ101での担当文書範囲を検索サーバ別検索範囲管理テーブル173から取得する。本図に示した例では、検索サーバ1の担当文書範囲810として「1〜1」が取得されており、同様に、検索サーバ2の担当文書範囲820として「2〜2」が取得されていることを表している。
次に、図5に示したステップ502が実行され、担当ページ識別子取得プログラム153により、各検索サーバ101における担当文書範囲の検索処理を実行するために参照するページのページ識別子を文書識別子管理テーブル172を参照することにより取得する。本図に示した例では、検索条件803として指定された「juice」という単語について、検索サーバ1の担当文書範囲「1〜1」に対する検索処理を実行するために必要な担当ページ811として「2001」、「2002」、「2003」というページ識別子が取得されており、また検索サーバ2の担当文書範囲「2〜2」に対する検索処理を実行するために必要な担当ページ821として「2003」というページ識別子が取得されていることを表している。
次に、図5に示したステップ503が実行され、ページ読込照合プログラム154により、各検索サーバ101において担当ページ811あるいは担当ページ812に対応する文字列インデクス171内のページが参照され、指定された検索条件803に対する検索サーバ別の検索処理が実行される。本図に示した例では、検索サーバ1では、「文書識別子1」で示される文書で「7回」出現していることを表す検索サーバ別検索結果集合812が得られ、また、検索サーバ2では「文書識別子2」の文書で「1回」出現していることを表す検索サーバ別検索結果集合822が得られていることを表している。
次に、図5に示したステップ504が実行され、検索結果送信プログラム155により、各検索サーバ101で得られた検索サーバ別検索結果集合がシステム管理サーバ100に送信される。
そして、図4に示したステップ401が実行され、検索結果集約プログラム136により、各検索サーバ101から送信された検索サーバ別検索結果集合が集約され、検索システム全体としての検索結果集合である全検索結果集合が生成される。本図に示した例では、検索サーバ1および検索サーバ2より送信された検索サーバ別検索結果集合812および822が集約され、全検索結果集合804が得られていることを表している。
以上が、本実施例に示した文書検索システムにおける文書検索の具体的な処理手順である。
なお、本実施例に示した検索処理手順では、検索処理を実行する際に図5に示したステップ501が実行され、担当範囲取得プログラム152により各検索サーバの担当文書範囲が取得されるものとしたが、検索処理の流れで実行される必要はなく、予め文書の登録処理完了後あるいは検索サーバ数が設定された後に実行されるものとしてもよい。
以上が、本発明の第一の実施形態である。
以上説明したように、本発明の第一の実施形態によれば、各ページ別に格納された文書識別子の範囲を管理し、検索サーバ別の検索範囲を管理しておくことにより、各検索サーバは割り当てられた範囲の全ての文書識別子を高速に取得することができるようになる。これにより、各検索サーバにおける検索処理時間をほぼ均等にすることができる。また、各検索サーバにおいて得られた検索サーバ別検索結果集合を取得するためのマージ処理が発生しないため、必要最小限のコストで検索結果を取得することができる。
なお、本実施例では、英語で記載された文書が登録された文書検索システムの例で説明したが、英語に限らずその他の言語であっても構わない。すなわち、本発明の第一の実施例における文書登録処理では、スペース等をデリミタとして単語を抽出するものとしたが、日本語等の区切れ目が明確でない言語に対しては単語辞書を参照して抽出された単語を用いるものとしてもよいし、長さNの文字列(以下、N−gramと呼ぶ)を抽出するものであっても構わない。
また、本実施例では、文字列インデクス171として単語インデクス方式を用いるものとして説明したが、インデクス方式によらず、例えば、N−gramインデクス方式であっても構わない。
また、本実施例では、全文検索システムの例を用いて説明したが、指定された文章に対して類似する文書を検索する類似文書検索システムに対しても適用可能であるのは明らかであろう。
また、本実施例における図7では、1つのページに3つのインデクス情報が格納されるものとして説明したが、3つに限定されたものではないのは明らかであろう。さらには、単語毎に異なる個数のインデクス情報が格納されるものであっても構わない。
次に、本発明の第二の実施例について図9を用いて説明する。
本発明を適用した文書検索システムの第二例は、検索サーバの追加あるいは削除を柔軟に実現しようとするものである。すなわち、登録文書数の増加により検索サーバ1台あたりの検索対象文書が増加してしまい、各検索サーバにおける検索性能が得られない場合に対応するための検索サーバの追加や、障害や他業務への一時的なサーバ貸与等の理由により一部の検索サーバを削除する場合等の処理を短時間で実現することにより、システム構成を柔軟に変更可能にするものである。
本実施例は、第一の実施例(図1)とほぼ同様の構成をとるが、図9に示したように、図1のシステム管理サーバ100の主メモリ115における検索サーバ管理制御プログラム123は、検索サーバ別検索範囲設定プログラム138に加えて、検索サーバ追加削除プログラム900および検索サーバ監視プログラム901を記憶する。それ以外の部分は図1と同様の構成である。
以下、本実施例における処理手順のうち、第一の実施例とは異なる検索サーバ管理制御プログラム123aの処理手順について、図10に示すPAD図を用いて説明する。本図に示した処理手順のうち、図6に示した第一の実施例と異なるステップはステップ1000〜1022である。その他の部分については、図6と同様の処理手順である。
検索サーバ管理制御プログラム123aは、まずキーボード111を介して入力されたコマンドの種類を解析する(ステップ1000)。
この結果が、検索サーバ数変更のコマンドであると解析された場合には、検索サーバ追加削除プログラム900を起動し、コマンドで指定された検索サーバの追加、あるいは削除を行なう(ステップ1010)。
また、前記ステップ1000で、検索サーバ状態監視のコマンドであると解析された場合には、検索サーバ管理テーブル174に格納された各検索サーバについて、ステップ1021およびステップ1022を繰返し実行する(ステップ1020)。
まず、検索サーバ監視プログラム901を起動し、前記ステップ1020で選択された検索サーバの状態をネットワーク104を介して監視する(ステップ1021)。
次に、検索処理の継続が不可能な検索サーバに関する情報を検索サーバ管理テーブル174から削除する(ステップ1022)。
以上が、検索サーバ管理制御プログラム123aの処理手順である。
以下、図10に示した本発明の第二の実施例における文書検索システムの検索サーバの管理処理手順を、図11を用いて具体的に説明する。
図11は、検索サーバ1および検索サーバ2の2台で検索処理を分担して実行する検索システムにおいて、検索サーバ1が障害などにより検索処理を実行できない状態(以下、検索不可状態と呼ぶ)になった場合の検索サーバ削除処理手順の例である。
まず、図9に示したステップ1021において起動された検索サーバ監視プログラム901により、検索サーバ2は検索処理を継続可能な状態「Good」であるという情報1121が、検索サーバ1は検索処理不可状態「NG]であるという情報1111を検知する。
次に、図10に示したステップ1022が実行され、検索サーバ管理テーブル174に格納されている検索サーバ1に関する情報が削除される。本図に示した例では、検索サーバ1に関する情報である「検索サーバID」=「検索サーバ1」および「IP Address」=「192.168.0.1」が削除され、この結果が反映された検索サーバ管理テーブル174aには、「検索サーバID」=「検索サーバ2」および「IP Address」=「192.168.0.2」のみが格納されている。
この結果、図10に示したステップ601が実行され、検索処理を継続可能な検索サーバの数が取得される。本図に示した例では、検索処理を継続可能な検索サーバは、検索サーバ2のみであるため、検索サーバ数1101として「1」が取得されている。
次に、図10に示したステップ602が実行され、検索サーバ別検索範囲設定プログラム138により、検索処理を継続可能な各検索サーバに対して担当文書範囲が設定され、検索サーバ別検索範囲管理テーブル173に格納される。本図に示した例では、検索処理を継続可能な検索サーバ2に対して、担当文書範囲として「1〜2」が割り当てられている。
以上が、本実施例に示した検索サーバの管理処理の具体的な流れである。
なお、図10では、検索サーバの削除処理を例に説明したが、検索サーバの追加処理であっても、同様に実現できることは明らかであろう。また、本実施例では、検索サーバ監視プログラム901により各検索サーバの監視をネットワーク104を介して行なうものとしたが、障害検知専用のネットワーク回線で接続されているものとしてもよいし、
各検索サーバからの応答レスポンス時間がタイムアウトした場合に、該検索サーバを検索不可状態と判断するものとしてもよいし、 検索サーバ101における検索サーバ用に割り当てられたプロセスを監視するものとしてもよい。
また、本実施例では、検索サーバの状態を「Good」あるいは「NG」という2値で評価するものとしたが、検索処理性能に応じて担当文書範囲が増大するものとしてもよいし、図12に示した検索サーバ管理テーブル174bのように検索処理実行のために割り当てられたCPU資源の比率(以下、負荷比率と呼ぶ)に応じて担当文書範囲が決定されるものであってもよいし、さらにはこれらの要望を組み合わせて使用されるものであってもよい。
図12に示した検索サーバ管理テーブル174bでは、「検索サーバID」や「IP Address」の他に、検索サーバの処理性能を表す「検索処理性能」や検索処理実行のために割り当てられたCPU資源の比率を表す「負荷比率」が格納されている状態を表しているが、この他の指標を用いるものであっても構わない。例えば、検索サーバ別のメモリ使用可能量、ネットワークボード181による通信速度、あるいはCPU性能などが考えられる。
以上が、本発明の第二の実施形態である。
以上説明したように、検索サーバ別検索範囲管理テーブル173および検索サーバ管理テーブル174の更新のみで検索サーバの追加あるいは削除を実現することができるため、システム構成の変更を柔軟に実現することができるようになる。この結果、登録文書数の増加に対する検索サーバの追加や、 障害や他業務への一時的なサーバ貸与等の理由による一部の検索サーバを削除する場合等の処理が短時間で実現可能なため、システム構成を柔軟に変更可能にするものである。
次に、本発明の第三の実施形態について図13を用いて説明する。
本発明を適用した文書検索システムの第三例は、文字列インデクス171に格納されている単語毎に担当文書範囲を設定することにより、各検索サーバでの検索処理時間を均一にし、検索システム全体での検索処理時間を最適化しようとするものである。
これを単純に実現した場合、検索タームによって検索サーバ毎に異なる担当文書範囲となるため、複数の検索タームを用いてAND検索やOR検索などの論理演算検索が指定されている場合や、単語間の距離が指定された検索条件式が指定されている場合には、
各検索サーバ内では検索処理を完了することができず、システム管理サーバ100等で全ての検索結果を集約した後に当該の演算処理を行なうことになる。
この結果、複数の検索サーバで並列に検索処理を行なっているにも関わらず、検索結果を集約する際に逐次的に処理を行なうことになるため、検索システム全体で長大な検索時間を要してしまうことになる。
本発明を適用した文書検索システムの第三例では、各検索サーバで検索処理を完了させ、各検索サーバでの検索処理時間をほぼ均一に終了させることができるようにするものである。
本実施例は、第一の実施例(図1)とほぼ同様の構成をとるが、図13に示したように、図1の検索サーバ101の主メモリ182における検索サーバ制御プログラム150は、担当範囲調整プログラム1300を記憶する。これ以外の部分は、図1と同様の構成である。
以下、本実施例における処理手順のうち、第一の実施例とは異なる検索サーバ制御プログラム150aの処理手順について、図14に示すPAD図を用いて説明する。
本図に示した処理手順は、図5に示した第一の実施例における検索サーバ制御プログラム150の処理手順とはステップ1400〜1401が異なっており、図5に示したステップ501の代わりにステップ1400を有すると共に、ステップ1401が加わる。
検索サーバ制御プログラム150aは、まず検索条件解析プログラム151を起動し、システム管理サーバ100より配送された検索条件式に含まれる検索タームを抽出し、ワークエリア160に格納する(ステップ500)。
次に、担当範囲取得プログラム152を起動し、検索サーバ別検索範囲管理テーブル173から検索ターム別の担当文書に関する文書識別子の範囲(以下、検索ターム別担当文書範囲と呼ぶ)を取得し、ワークエリア160に格納する(ステップ1400)。
次に、担当範囲調整プログラム1300を起動し、各検索タームの処理コストを比較し、もっとも処理コストの高い検索タームに関する検索ターム別担当文書範囲を、各検索サーバの担当する文書識別子の範囲としてワークエリア160に格納する(ステップ1401)。
次に、担当ページ識別子取得プログラム153を起動し、前記ステップ500で検索条件解析プログラム151によりワークエリア160に格納された検索タームと、
前記ステップ501で担当範囲取得プログラム152によりワークエリア160に格納された担当文書範囲に対応するページ(以下、担当ページと呼ぶ)のページ識別子を文書識別子管理テーブル172から取得し、ワークエリア160に格納する(ステップ502)。
次に、ページ読込照合プログラム154を起動し、上記ステップ502で担当ページ識別子取得プログラム153によりワークエリア160に格納された担当ページのページ識別子に対応する文字列インデクス171を参照することにより、検索条件に適合する文書の文書識別子を取得し、検索サーバ別検索結果集合としてワークエリア160に格納する(ステップ503)。
次に、検索結果送信プログラム155を起動し、上記ステップ503でワークエリア160に格納された検索サーバ別検索結果集合をシステム管理サーバへ送信する(ステップ504)。
以上が、検索サーバ制御プログラム150aの処理手順である。
以下、図14に示した本発明の第三の実施例における検索サーバ制御プログラム150aの処理手順のうち、第一の実施例とは異なるステップ1400〜1401について、図15を用いて具体的に説明する。
本図に示した例では、検索条件1500として「"pineapple juice"」が入力された場合に、検索サーバ1および検索サーバ2における担当文書範囲1510および1520が決定されるまでの処理手順を表している。
まず、システム管理サーバ100では、検索条件1500を受け付けると、図4に示したステップ400を実行し、検索条件配送プログラム135により、各検索サーバ101に対して検索条件1500を配送する。
各検索サーバ100において、検索条件1500を受け付けると、図14に示したステップ500を実行し、検索条件1500に含まれる検索タームを抽出する。そして、図14に示したステップ1400を実行し、担当範囲取得プログラム152により、各検索タームに対する担当文書範囲を取得する。
本図に示した例では、検索条件1500「"pineapple juice"」に含まれる「pineapple」および「juice」に関する担当文書範囲173aおよび173bが取得されている状態を表している。
次に、図14に示したステップ1401が実行され、担当範囲調整プログラム1300により、処理コストがもっとも高い検索タームに関する検索ターム別担当文書範囲を、最終的な担当文書範囲として取得する。本図に示した例では、各文字列インデクスを構成する総ページ数を処理コストとしており、単語「pineapple」の総ページ数は「2」であり、単語「juice」の総ページ数は「3」であることから、単語「juice」の検索ターム別担当文書範囲が最終的な担当文書範囲として設定されている。
この結果、検索サーバ1では「1〜1」が担当文書範囲1510として取得され、検索サーバ2では「2〜2」が担当文書範囲1520として取得されている。
以上が、検索サーバ制御プログラム150aの具体的な処理手順である。
以上が、本発明の第三の実施形態である。
以上説明したように、本実施の形態によれば、単語別に設定された検索ターム別担当文書範囲の中から、もっとも処理コストの高い検索タームに対する検索ターム別担当文書範囲を選択するようにすることにより、該検索タームの処理コストを各検索サーバで均等に分担できるようになる。
この結果、各検索サーバで検索処理を完了させることができ、各検索サーバでの検索処理時間をほぼ均一に終了させることができるようになる。なお、本実施例における各単語の処理コストとして、文字列インデクス173を構成する総ページ数を用いるものとしたが、各単語の検索処理時間を予め測定して用いるようにしてもよい。
本発明を適用した文書検索システムの第一の実施例における全体構成を示す図である。 本発明の第一の実施例におけるシステム管理サーバ100におけるシステム制御プログラム120の処理手順を説明するPAD図である。 本発明の第一の実施例におけるシステム管理サーバ100における登録制御プログラム121の処理手順を説明するPAD図である。 本発明の第一の実施例におけるシステム管理サーバ100における検索制御プログラム122の処理手順を説明するPAD図である。 本発明の第一の実施例における検索サーバ101における検索サーバ制御プログラム150の処理手順を説明するPAD図である。 本発明の第一の実施例におけるシステム管理サーバ100における検索サーバ管理制御プログラム123の処理手順を説明するPAD図である。 本発明の第一の実施例における登録処理手順を説明する図である。 本発明の第一の実施例における検索サーバ管理手順および検索処理手順を説明する図である。 本発明の第二の実施例におけるシステム管理サーバ100における検索サーバ管理制御プログラム123aの構成を示す図である。 本発明の第二の実施例におけるシステム管理サーバ100における検索サーバ管理制御プログラム123aの処理手順を説明するPAD図である。 本発明の第二の実施例におけるシステム管理サーバ100における検索サーバ管理制御プログラム123aの処理手順を説明する図である。 本発明の第二の実施例における検索サーバ管理テーブル174bの具体例を示す図である。 本発明の第三の実施例における検索サーバ101における検索サーバ制御プログラム150aの構成を示す図である。 本発明の第三の実施例における検索サーバ101における検索サーバ制御プログラム150aの処理手順を説明するPAD図である。 本発明の第三の実施例における検索処理手順を説明する図である。
符号の説明
100…システム管理サーバ、101…検索サーバ、102…磁気ディスク装置、103…検索クライアント、104…ネットワーク、110…ディスプレイ、111…キーボード、112…中央演算処理装置(CPU)、113…フロッピディスクドライブ(FDD)、114…ネットワークボード(Ether)、115…主メモリ、116…バス、117…フロッピディスク、120…システム制御プログラム、121…登録制御プログラム、122…検索制御プログラム、123…検索サーバ管理制御プログラム、130…テキスト抽出登録プログラム、131…文字列インデクス作成プログラム、132…文書識別子管理テーブル作成プログラム、135…検索条件配送プログラム、136…検索結果集約プログラム、137…検索結果出力プログラム、138…検索サーバ別検索範囲設定プログラム、140…ワークエリア、150…検索サーバ制御プログラム、151…検索条件解析プログラム、152…担当範囲取得プログラム、153…担当ページ識別子取得プログラム、154…ページ読込照合プログラム、155…検索結果送信プログラム、160…ワークエリア、170…テキスト、171…文字列インデクス、172…文書識別子管理テーブル、173…検索サーバ別検索範囲管理テーブル、174…検索サーバ管理テーブル、180…中央演算処理(CPU)、181…ネットワークボード(Ether)、182…主メモリ、183…バス、900…検索サーバ追加削除プログラム、901…検索サーバ監視プログラム、1300…担当範囲調整プログラム

Claims (15)

  1. 一つ以上の検索サーバを用いて、文書データベースに蓄積された文書の中から指定された検索条件に適合する文書を検索する文書検索方法において、
    該文書に含まれる文字列に対するインデクスを作成するステップと、
    上記作成されたインデクスを構成する所定の大きさの管理単位別に、各管理単位に格納される文書の範囲を管理するインデクス管理テーブルを作成するステップと、
    各検索サーバで検索する文書の範囲である担当範囲を決定するステップと、
    前記インデクス管理テーブルを参照し、上記決定された担当範囲を検索するためのインデクスの管理単位を特定するステップと、
    上記特定された管理単位のインデクスを参照することにより、検索を実行するステップ
    を有することを特徴とした文書検索方法。
  2. 請求項1記載の文書検索方法において、
    検索サーバ数の変更に関する要求を受け付けるステップと、
    上記変更要求に基づき担当範囲を変更するステップ
    を有することを特徴とした文書検索方法。
  3. 請求項1乃至2のいずれかひとつに記載した文書検索方法において、
    各検索サーバの処理能力を算出するステップと、
    上記算出された処理能力に基づき各担当範囲を決定あるいは変更するステップ
    を有することを特徴とした文書検索方法。
  4. 請求項3記載の文書検索方法において、
    各検索サーバの負荷を計測するステップと、
    上記計測された各検索サーバの負荷に基づき利用可能な処理能力を算出するステップ
    を有することを特徴とした文書検索方法。
  5. 請求項3記載の文書検索方法において、
    所定の条件に基づき利用可能な検索サーバの処理能力を算出するステップ
    を有することを特徴とした文書検索方法。
  6. 請求項1乃至5のいずれかひとつに記載の文書検索方法において、
    各担当範囲を文字列単位に決定あるいは変更するステップ
    を有することを特徴とした文書検索方法。
  7. 請求項6記載の文書検索方法において、
    2つ以上の文字列に対するインデクスを参照して検索を実行する際に、各インデクスに対する処理コストを比較するステップと、
    上記比較の結果、処理コストの大きい文字列に設定された担当範囲を、全ての文字列における担当範囲として決定するステップ
    を有することを特徴とした文書検索方法。
  8. 一つ以上の検索サーバを用いて、文書データベースに蓄積された文書の中から指定された検索条件に適合する文書を検索する文書検索システムにおいて、
    該文書に含まれる文字列に対するインデクスを作成する手段と、
    上記作成されたインデクスを構成する所定の大きさの管理単位別に、各管理単位に格納される文書の範囲を管理するインデクス管理テーブルを作成する手段と、
    各検索サーバで検索する文書の範囲である担当範囲を決定する手段と、
    前記インデクス管理テーブルを参照し、上記決定された担当範囲を検索するためのインデクスの管理単位を抽出する手段と、
    上記特定された管理単位のインデクスを参照することにより、検索を実行する手段
    を有することを特徴とした文書検索システム。
  9. 請求項8記載の文書検索システムにおいて、
    検索サーバ数の変更に関する要求を受け付ける手段と、
    上記変更要求に基づき担当範囲を変更する手段を有することを特徴とした文書検索システム。
  10. 請求項8乃至9のいずれかひとつに記載した文書検索システムにおいて、
    各検索サーバの処理能力を算出する手段と、
    上記算出された処理能力に基づき各担当範囲を決定あるいは変更する手段
    を有することを特徴とした文書検索システム。
  11. 請求項10記載の文書検索システムにおいて、
    各検索サーバの負荷を計測する手段と、
    上記計測された各検索サーバの負荷に基づき利用可能な処理能力を算出する手段
    を有することを特徴とした文書検索システム。
  12. 請求項10記載の文書検索システムにおいて、
    所定の条件に基づき利用可能な検索サーバの処理能力を算出する手段
    を有することを特徴とした文書検索システム。
  13. 請求項8乃至12のいずれかひとつに記載の文書検索システムにおいて、
    各担当範囲を文字列単位に決定あるいは変更する手段
    を有することを特徴とした文書検索システム。
  14. 請求項13記載の文書検索システムにおいて、
    2つ以上の文字列に対するインデクスを参照して検索を実行する際に、各インデクスに対する処理コストを比較する手段と、
    上記比較の結果、処理コストの大きい文字列に設定された担当範囲を、全ての文字列における担当範囲として決定する手段
    を有することを特徴とした文書検索システム。
  15. 一つ以上の検索サーバを用いて、文書データベースに蓄積された文書の中から指定された検索条件に適合する文書を検索する文書検索実行プログラムであって、該プログラムは、
    該文書に含まれる文字列に対するインデクスを作成する手段と、
    上記作成されたインデクスを構成する所定の大きさの管理単位別に、各管理単位に格納される文書の範囲を管理するインデクス管理テーブルを作成する手段と、
    各検索サーバで検索する文書の範囲である担当範囲を決定する手段と、
    前記インデクス管理テーブルを参照し、上記決定された担当範囲を検索するためのインデクスの管理単位を抽出する手段と、
    上記特定された管理単位のインデクスを参照することにより、検索を実行する手段をコンピュータに実行させることを
    特徴とした文書検索実行プログラム。
JP2004324475A 2004-11-09 2004-11-09 文書検索方法およびそのシステム Pending JP2006134191A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004324475A JP2006134191A (ja) 2004-11-09 2004-11-09 文書検索方法およびそのシステム
US11/185,733 US7689545B2 (en) 2004-11-09 2005-07-21 System and method to enable parallel text search using in-charge index ranges

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004324475A JP2006134191A (ja) 2004-11-09 2004-11-09 文書検索方法およびそのシステム

Publications (1)

Publication Number Publication Date
JP2006134191A true JP2006134191A (ja) 2006-05-25

Family

ID=36317552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004324475A Pending JP2006134191A (ja) 2004-11-09 2004-11-09 文書検索方法およびそのシステム

Country Status (2)

Country Link
US (1) US7689545B2 (ja)
JP (1) JP2006134191A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234204A (ja) * 2007-03-19 2008-10-02 Ricoh Co Ltd 文書検索装置、文書検索方法および文書検索プログラム
JP2008250722A (ja) * 2007-03-30 2008-10-16 Fujitsu Ltd 文書検索システム、文書番号部分列取得装置、および文書検索方法
US9639590B2 (en) 2013-05-30 2017-05-02 Fujitsu Limited Database system and method for searching database

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016559A1 (en) * 2005-07-14 2007-01-18 Yahoo! Inc. User entertainment and engagement enhancements to search system
US8972856B2 (en) * 2004-07-29 2015-03-03 Yahoo! Inc. Document modification by a client-side application
JP4807618B2 (ja) * 2006-03-06 2011-11-02 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
US7636712B2 (en) * 2006-11-14 2009-12-22 Microsoft Corporation Batching document identifiers for result trimming
JP5141560B2 (ja) * 2007-01-24 2013-02-13 富士通株式会社 情報検索プログラム、該プログラムを記録した記録媒体、情報検索装置、および情報検索方法
US8086441B1 (en) 2007-07-27 2011-12-27 Sonicwall, Inc. Efficient string search
US8463806B2 (en) * 2009-01-30 2013-06-11 Lexisnexis Methods and systems for creating and using an adaptive thesaurus
KR20130085069A (ko) * 2012-01-18 2013-07-29 삼성전자주식회사 엔-그램 인덱스 기반의 다차원 문자열 질의 처리 장치 및 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259478A (ja) 1993-03-02 1994-09-16 Toshiba Corp 分散データベースのデータ再配置方式
JP3459053B2 (ja) 1995-01-12 2003-10-20 株式会社日立製作所 文書検索方法および装置
JP3510042B2 (ja) 1996-04-26 2004-03-22 株式会社日立製作所 データベース管理方法及びシステム
US6553420B1 (en) * 1998-03-13 2003-04-22 Massachusetts Institute Of Technology Method and apparatus for distributing requests among a plurality of resources
JP4199888B2 (ja) 1999-11-15 2008-12-24 株式会社日立製作所 データベース管理方法
US7293014B2 (en) * 2001-06-18 2007-11-06 Siebel Systems, Inc. System and method to enable searching across multiple databases and files using a single search
US6778991B2 (en) * 2001-09-27 2004-08-17 I2 Technologies Us, Inc. Dynamic load balancing using semantic traffic monitoring
CN1292371C (zh) * 2003-04-11 2006-12-27 国际商业机器公司 倒排索引存储方法、倒排索引机制以及在线更新的方法
US7254580B1 (en) * 2003-07-31 2007-08-07 Google Inc. System and method for selectively searching partitions of a database
US7620624B2 (en) * 2003-10-17 2009-11-17 Yahoo! Inc. Systems and methods for indexing content for fast and scalable retrieval
US7574424B2 (en) * 2004-10-13 2009-08-11 Sybase, Inc. Database system with methodology for parallel schedule generation in a query optimizer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234204A (ja) * 2007-03-19 2008-10-02 Ricoh Co Ltd 文書検索装置、文書検索方法および文書検索プログラム
JP2008250722A (ja) * 2007-03-30 2008-10-16 Fujitsu Ltd 文書検索システム、文書番号部分列取得装置、および文書検索方法
US9639590B2 (en) 2013-05-30 2017-05-02 Fujitsu Limited Database system and method for searching database

Also Published As

Publication number Publication date
US20060101004A1 (en) 2006-05-11
US7689545B2 (en) 2010-03-30

Similar Documents

Publication Publication Date Title
US7689545B2 (en) System and method to enable parallel text search using in-charge index ranges
KR101137147B1 (ko) 질의 강제 인덱싱
US8914720B2 (en) Method and system for constructing a document redundancy graph
US7035882B2 (en) Data storage system
AU2005201890B2 (en) Query to task mapping
JP5106045B2 (ja) 検索エンジン連携ファイル共有システム
JP4686305B2 (ja) ストレージ管理システムおよびその方法
US20090299978A1 (en) Systems and methods for keyword and dynamic url search engine optimization
CN103620601A (zh) 在映射缩减过程中汇合表
MX2007014899A (es) Mecanismo de concesion para busqueda.
KR20100106464A (ko) 데이터 클러스터와 유의어의 탐색과 수정에 대한 방법 및 시스템
EP3499388B1 (en) Method and device for processing join query
JP2006073012A (ja) 予め定められた個数の予め定義された質問に応答することによって情報を管理するシステムおよび方法
JP2017130010A (ja) ストレージ制御装置、ストレージ制御プログラムおよびストレージシステム
US20230367829A1 (en) Indexing Native Application Data
CN102819592A (zh) 一种基于Lucene的桌面搜索***及方法
KR101640733B1 (ko) 인-메모리 데이터베이스 기반의 데이터 관리 시스템 및 그 방법
JP2022137281A (ja) データ照会方法、装置、電子デバイス、記憶媒体、及びプログラム
CN110110184B (zh) 信息查询方法、***、计算机***及存储介质
WO2013145129A1 (ja) データベース管理方法、プログラム、および情報処理装置
JP5743938B2 (ja) 連想検索システム、連想検索サーバ及びプログラム
US20080172420A1 (en) Scoring Computer File Health
US11755633B2 (en) Entity search system
JP2016045552A (ja) 特徴抽出プログラム、特徴抽出方法、および特徴抽出装置
JP6763837B2 (ja) 検索ワードサジェスト装置、検索ワードサジェスト方法、および、検索ワードサジェストプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060306

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060425

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090807

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091027