(57)【特許請求の範囲】
【請求項１】
キーワードを検索条件としてユーザに指定させ、検索結果を表示制御するクライアント装置と、テキストデータの検索を実行するテキスト検索サーバと、がネットワークを介して接続可能なテキスト検索システムであって、
前記クライアント装置は、
前記テキストデータの検索条件となる複数のキーワードを前記テキスト検索サーバに送信するキーワード送信手段と、
前記テキスト検索サーバから、前記テキストデータに対する検索結果が順次送信されるごとに、送信された当該検索結果を順次受信する検索結果受信手段と、
前記検索結果受信手段により、前記検索結果が順次受信されるごとに、当該検索結果を順次表示する表示制御手段と、
を備え、
前記テキスト検索サーバは、
前記テキストデータと、当該テキストデータに関連付けられた１または複数の関連語と、を対応付けて関連語情報として関連語情報記憶手段に記憶させる関連語情報登録手段と、
前記キーワード送信手段により送信された複数のキーワードを受信するキーワード受信手段と、
前記キーワード受信手段により受信した複数のキーワードを使用して前記関連語情報記憶手段の関連語情報を検索し、テキストデータを検索結果として取得する関連語情報検索手段と、
前記関連語情報検索手段による検索処理を実行した結果、当該関連語情報検索手段による検索結果とはならなかったテキストデータに対して、前記キーワードに基づき当該テキストデータを走査して検索結果を取得する全文検索手段と、
前記関連語情報検索手段による検索結果と、前記全文検索手段による検索結果を、それぞれの検索結果が取得されるごとに、順次、前記クライアント装置に送信する検索結果送信手段と、
を備えることを特徴とするテキスト検索システム。
【請求項２】
前記検索結果送信手段は、更に、前記関連語情報検索手段による検索結果と、前記全文検索手段による検索結果とを、それぞれの検索結果が取得されるごとに、いずれの検索手段により取得されたかを判別可能に、順次、前記クライアント装置に送信するものであって、
前記表示制御手段は、更に前記検索結果受信手段により受信した検索結果を、前記テキストデータに対応する当該検索結果ごとに、前記関連語情報検索手段に基づく検索結果か、前記全文検索手段に基づく検索結果か、を判別可能に表示するものであることを特徴とする請求項１に記載のテキスト検索システム。
【請求項３】
前記クライアント装置は、
前記表示制御手段により表示された前記検索結果においてユーザにより選択された前記テキストデータに対する選択を、選択情報として前記テキスト検索サーバに送信する選択情報送信手段と、
を、更に備え、
前記テキスト検索サーバは、
前記クライアント装置から送信された前記選択情報を受信する選択情報受信手段と、を、更に備え、
前記関連語情報登録手段は、更に、前記選択情報に対応する前記テキストデータと、前記キーワード受信手段により受信した前記キーワードと、を対応付けて関連語情報として関連語情報記憶手段に記憶させることを特徴とする請求項１または請求項２に記載のテキスト検索システム。
【請求項４】
前記表示制御手段は、前記テキストデータに対応する前記検索結果ごとに、前記関連語情報検索手段に基づく当該検索結果か、前記全文検索手段に基づく当該検索結果か、に応じて、異なる表示枠に表示することを特徴とする請求項１乃至請求項３のいずれか１項に記載のテキスト検索システム。
【請求項５】
前記表示制御手段は、前記テキストデータに対応する前記検索結果ごとに、前記関連語情報検索手段に基づく当該検索結果か、前記全文検索手段に基づく当該検索結果かに応じて、優先順位を変えて同一の表示枠に表示することを特徴とする請求項１乃至請求項３のいずれか１項に記載のテキスト検索システム。
【請求項６】
前記関連語情報は、前記テキストデータと、前記キーワードとに加え、当該キーワードを前記検索条件された前記検索結果に当該テキストデータが含まれ且つユーザの選択に基づき前記選択情報受信手段により前記選択情報として受信した選択回数と、を対応付けて前記関連語情報記憶手段に記憶されるものであって、
前記関連語情報検索手段は、前記検索結果に含まれる各テキストデータに対して、前記選択回数に基づき優先順位を決定するものであって、
前記表示制御手段は、前記関連語情報検索手段による前記検索結果の優先順位に基づいて、当該検索結果ごとの表示順の変更をすることを特徴とする請求項３乃至請求項５のいずれか１項に記載のテキスト検索システム。
【請求項７】
前記全文検索手段は、
前記関連語情報検索手段による検索処理を終了した前記テキストデータに対して、当該テキストデータが前記検索結果に含まれない場合に実行されるものであって、前記キーワードのうち、当該関連語情報検索手段を実行した結果、対応する前記関連語情報が存在しない当該キーワードにより当該テキストデータを走査することを特徴とする請求項１乃至請求項６のいずれか１項に記載のテキスト検索システム。
【請求項８】
キーワードを検索条件としてユーザに指定させ検索結果を表示制御するクライアント装置と、ネットワークを介して接続可能なテキスト検索サーバであって、
テキストデータと、当該テキストデータに関連付けられた１または複数の関連語と、を対応付けて関連語情報として関連語情報記憶手段に記憶させる関連語情報登録手段と、
前記クライアント装置から送信された複数のキーワードを受信するキーワード受信手段と、
前記キーワード受信手段により受信した複数のキーワードを使用して前記関連語情報記憶手段の関連語情報を検索し、テキストデータを検索結果として取得する関連語情報検索手段と、
前記関連語情報検索手段による検索処理を実行した結果、当該関連語情報検索手段による検索結果とはならなかったテキストデータに対して、前記キーワードに基づき当該テキストデータを走査して検索結果を取得する全文検索手段と、
前記関連語情報検索手段による検索結果と、前記全文検索手段による検索結果を、それぞれの検索結果が取得されるごとに、順次、前記クライアント装置に送信する検索結果送信手段と、
を備えることを特徴とするテキスト検索サーバ。
【請求項９】
キーワードを検索条件としてユーザに指定させ、検索結果を表示制御するクライアント装置と、テキストデータの検索を実行するテキスト検索サーバと、がネットワークを介して接続可能なテキスト検索システムの制御方法であって、
前記クライアント装置は、
キーワード送信手段が、前記テキストデータの検索条件となる複数のキーワードを前記テキスト検索サーバに送信するキーワード送信ステップと、
検索結果受信手段が、前記テキスト検索サーバから、前記テキストデータに対する検索結果が順次送信されるごとに、送信された当該検索結果を順次受信する検索結果受信ステップと、
表示制御手段が、前記検索結果受信ステップにより、前記検索結果が順次受信されるごとに、当該検索結果を順次表示する表示制御ステップと、
を含み、
前記テキスト検索サーバは、
関連語情報登録手段が、前記テキストデータと、当該テキストデータに関連付けられた１または複数の関連語と、を対応付けて関連語情報として関連語情報記憶手段に記憶させる関連語情報登録ステップと、
キーワード受信手段が、前記キーワード送信ステップにより送信された複数のキーワードを受信するキーワード受信ステップと、
関連語情報検索手段が、前記キーワード受信ステップにより受信した複数のキーワードを使用して前記関連語情報記憶手段の関連語情報を検索し、テキストデータを検索結果として取得する関連語情報検索ステップと、
全文検索手段が、前記関連語情報検索ステップによる検索処理を実行した結果、当該関連語情報検索ステップによる検索結果とはならなかったテキストデータに対して、前記キーワードに基づき当該テキストデータを走査して検索結果を取得する全文検索ステップと、
検索結果送信手段が、前記関連語情報検索ステップによる検索結果と、前記全文検索ステップによる検索結果を、それぞれの検索結果が取得されるごとに、順次、前記クライアント装置に送信する検索結果送信ステップと、
を含むことを特徴とするテキスト検索システムの制御方法。
【請求項１０】
キーワードを検索条件としてユーザに指定させ検索結果を表示制御するクライアント装置と、ネットワークを介して接続可能なテキスト検索サーバの制御方法であって、
関連語情報登録手段が、テキストデータと、当該テキストデータに関連付けられた１または複数の関連語と、を対応付けて関連語情報として関連語情報記憶手段に記憶させる関連語情報登録ステップと、
キーワード受信手段が、前記クライアント装置から送信された複数のキーワードを受信するキーワード受信ステップと、
関連語情報検索手段が、前記キーワード受信ステップにより受信した複数のキーワードを使用して前記関連語情報記憶手段の関連語情報を検索し、テキストデータを検索結果として取得する関連語情報検索ステップと、
全文検索手段が、前記関連語情報検索ステップによる検索処理を実行した結果、当該関連語情報検索ステップによる検索結果とはならなかったテキストデータに対して、前記キーワードに基づき当該テキストデータを走査して検索結果を取得する全文検索ステップと、
検索結果送信手段が、前記関連語情報検索ステップによる検索結果と、前記全文検索ステップによる検索結果を、それぞれの検索結果が取得されるごとに、順次、前記クライアント装置に送信する検索結果送信ステップと、
を含むことを特徴とするテキスト検索サーバの制御方法。
【請求項１１】
キーワードを検索条件としてユーザに指定させ検索結果を表示制御するクライアント装置と、ネットワークを介して接続可能なテキスト検索サーバにおいて実行可能なプログラムであって、
前記テキスト検索サーバを、
テキストデータと、当該テキストデータに関連付けられた１または複数の関連語と、を対応付けて関連語情報として関連語情報記憶手段に記憶させる関連語情報登録手段と、
前記クライアント装置から送信された複数のキーワードを受信するキーワード受信手段、
前記キーワード受信手段により受信した複数のキーワードを使用して前記関連語情報記憶手段の関連語情報を検索し、テキストデータを検索結果として取得する関連語情報検索手段、
前記関連語情報検索手段による検索処理を実行した結果、当該関連語情報検索手段による検索結果とはならなかったテキストデータに対して、前記キーワードに基づき当該テキストデータを走査して検索結果を取得する全文検索手段、
前記関連語情報検索手段による検索結果と、前記全文検索手段による検索結果を、それぞれの検索結果が取得されるごとに、順次、前記クライアント装置に送信する検索結果送信手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
大量のテキストデータを対象にキーワードによるテキスト検索を実行する際に、適切な検索結果を高速に取得するテキスト検索サーバに関する。
【背景技術】
【０００２】
大量のテキストデータを対象とし、検索条件となるキーワードを指定することにより検索を行う様々な方法が提案されている。
【０００３】
例えば、前記大量のテキストデータを解析することにより予め各テキストデータから単語を抽出し、各単語を含むテキストデータと関連付けて索引データを作成する方法がある。この方法においては、検索時に、まずキーワードにより索引データを検索し、索引データに対する検索結果である単語に関連付けられたテキストデータを検索結果とするため、高速な検索処理を実現することが可能である。しかしながら、前記解析により索引データとなる単語の解析精度は必ずしも十分ではなく、またキーワードと索引中の単語が完全に一致する必要があるため、不適切な検索結果が得られる場合が多い。
【０００４】
一方、テキストデータを先頭から一文字ずつ走査し、キーワードと一致する文字列が出現すると検索結果とする全文検索という方法がある。全文検索では、検索条件として指定されたキーワード数、検索対象となるテキストデータの件数、走査対象となるテキストの長さ、などに比例して検索処理の時間が増加する。
【０００５】
特許文献１には、リレーショナルデータベースに格納されているテーブルを検索キーワードに基づいて全文検索する際に、検索キーワードのデータ構造上の特徴から全文検索の対象とすべきカラムを動的に絞るという技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−６７２１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の技術は、検索キーワードを「文字列型」、「日付型」、「数値型」の３種類のデータ型に分類し、それぞれのデータ型に一致したテーブルのカラムのみを検索させることにより、検索対象となるカラムを絞ることにより検索処理速度を向上させるものである。
【０００８】
しかしながら、データベースのテーブルにおいては、「文字列型」のデータ長は「日付型」、「数値型」と比較して長い場合が多い。特に、ユーザに対して自由にメッセージを入力可能とするＧＵＩを提供し、ユーザの入力内容をデータベースに登録するアプリケーションにおいては、「文字列型」のデータの比率が大きい場合がある。この場合に「文字列型」である検索キーワードの検索対象カラムを絞り込んだとしても、検索処理速度の向上は十分ではない。
【０００９】
すなわち、前述同様、検索条件として指定されたキーワード数、検索対象となるテキストデータの件数（テーブル内のレコード数、文字列型のカラム数）、走査対象となるテキストの長さ、などに比例して検索処理の時間が増加するという問題がある。
【００１０】
さらに単なる全文検索であるため、例えば“ペット”をキーワードとして検索しても“ペット”という単語を含むテキストデータと“カーペット”という文字列を含むテキストデータが同等に検索結果に含まれてしまう、という検索精度上の問題があった。
【００１１】
本発明は、テキストデータに対して関連語情報検索と全文検索という２つの検索処理を使用して、高速かつもれのない検索処理を行い、更に得られた検索結果をユーザに順次提示することで、ユーザにとって全ての検索結果が得られる前であっても、必要な情報を順次確認することを可能とする検索機能を提供することを目的とする。
【課題を解決するための手段】
【００１２】
キーワードを検索条件としてユーザに指定させ、検索結果を表示制御するクライアント装置と、テキストデータの検索を実行するテキスト検索サーバと、がネットワークを介して接続可能なテキスト検索システムであって、前記クライアント装置は、前記テキストデータの検索条件となる複数のキーワードを前記テキスト検索サーバに送信するキーワード送信手段と、前記テキスト検索サーバから、前記テキストデータに対する検索結果が順次送信されるごとに、送信された当該検索結果を順次受信する検索結果受信手段と、前記検索結果受信手段により、前記検索結果が順次受信されるごとに、当該検索結果を順次表示する表示制御手段と、を備え、前記テキスト検索サーバは、前記テキストデータと、当該テキストデータに関連付けられた１または複数の関連語と、を対応付けて関連語情報として関連語情報記憶手段に記憶させる関連語情報登録手段と、前記キーワード送信手段により送信された複数のキーワードを受信するキーワード受信手段と、前記キーワード受信手段により受信した複数のキーワードを使用して前記関連語情報記憶手段の関連語情報を検索し、テキストデータを検索結果として取得する関連語情報検索手段と、前記関連語情報検索手段による検索処理を実行した結果、当該関連語情報検索手段による検索結果とはならなかったテキストデータに対して、前記キーワードに基づき当該テキストデータを走査して検索結果を取得する全文検索手段と、前記関連語情報検索手段による検索結果と、前記全文検索手段による検索結果を、それぞれの検索結果が取得されるごとに、順次、前記クライアント装置に送信する検索結果送信手段と、を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によりテキストデータに対して関連語情報検索と全文検索という２つの検索処理を使用して、高速かつもれのない検索処理を行い、更に得られた検索結果をユーザに順次提示することで、ユーザにとって全ての検索結果が得られる前であっても、必要な情報を順次確認することを可能とする検索機能を提供することが可能となった。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係わるシステム構成の一例を示す図である。
【図２】本発明の実施形態に係わるテキスト検索サーバ、クライアント装置のハードウェア構成の一例を示すブロック図である。
【図３】本発明の実施形態に係わるテキスト検索サーバ、クライアント装置におけるソフトウェア構成の一例を示すブロック図である。
【図４】本発明の実施形態に係わるクライアント装置における検索のキーワードを入力する画面の一例である。
【図５】本発明の実施形態に係わる全文検索の検索結果をクライアント装置において表示する画面の一例である。
【図６】本発明の実施形態に係わる関連語情報記憶部のデータ構成の一例である。
【図７】本発明の実施形態に係わる検索結果をクライアント装置において表示する画面の一例である。
【図８】本発明の実施形態に係わる検索結果をクライアント装置において表示する画面の一例である。
【図９】本発明の実施形態に係わる関連語情報検索の処理を示すフローチャートの一例である。
【図１０】全文検索の処理を示すフローチャートの一例である。
【図１１】本発明の実施形態に係わるテキスト検索の処理を示すフローチャートの一例である。
【図１２】本発明の実施形態に係わるテキスト検索の処理を示すフローチャートの一例である。
【図１３】本発明の第３実施形態に係わる関連語検索の処理を示すフローチャートの一例である。
【図１４】本発明の第３実施形態に係わる全文検索の処理を示すフローチャートの一例である。
【図１５】本発明の実施形態に係わる関連語情報記憶部と、関連語情報検索と全文検索の検索結果を説明するための図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【００１６】
＜第１の実施形態＞
図１は、本発明の実施形態に係わるシステム構成の一例を示す図である。
【００１７】
このテキスト検索システムでは、テキスト検索サーバ１０１、クライアント装置１０２、テキストデータ管理サーバ１０３が、ネットワーク１０４を介して接続されている。クライアント装置１０２からテキストデータの検索を要求すると、要求がテキスト検索サーバ１０１にて受け付けられ、テキスト検索サーバ１０１において検索された結果は、クライアント装置１０２に送信され、クライアント装置１０２においてユーザが閲覧するために表示、操作される。クライアント装置１０２ａ〜１０２ｃは本例では３台が図示されているが、何台であってもよい。
【００１８】
テキストデータ管理サーバ１０３には、テキストファイル、アプリケーションファイル、データベースなどが格納されている。テキスト検索サーバ１０１は、検索要求に基づきテキストデータ管理サーバに格納されている前述のテキストファイル、アプリケーションファイル内のテキストやテキスト形式で抽出可能な属性、データベースに格納されたテキストを検索する。テキストデータ管理サーバ１０３は１台であってもよいし、複数台あってもよい。
【００１９】
なお、以降の説明では、前述したアプリケーションファイルやデータベースに格納されたテキストを検索する場合には、それらのファイルやデータ項目から文字列を抽出する処理も含めて“テキストデータを検索する”と呼ぶことにする。あるいは、ファイルやデータ項目が新たに検索対象となった場合に、予めテキスト形式のファイルに抽出しておき、実際に検索する際にはテキストファイルを対象としてもよい。いずれの場合も、本発明の実施形態に係わるテキストデータに対する検索とする。
【００２０】
また、テキスト検索サーバ１０１の中には、テキストデータ管理サーバ１０３における前述のファイルなどと、当該ファイルなどを関連付けるキーワード（関連語）を、本発明の実施形態である後述の関連語情報記憶部として記憶されている。
【００２１】
なお、図１では、テキスト検索サーバ１０１とテキストデータ管理サーバ１０３は別個の筐体で示されているが、同一筐体内に構成することも可能であり、本発明に係るテキスト検索システムを運用する形態に応じて各種構成をとることが可能である。さらに、テキスト検索サーバ１０１とクライアント装置１０２が同一筐体内に構成されること、テキスト検索サーバ１０１、クライアント装置１０２、テキストデータ管理サーバ１０３の全てが同一強体内に構成されることも本発明の実施形態に係わる構成である。
【００２２】
図２は、テキスト検索サーバ１０１およびクライアント装置に適用可能な情報処理装置のハードウェア構成例を示すブロック図である。なお、図２のブロック図は、テキストデータ管理サーバ１０３にも適用可能である。
【００２３】
図２に示すように、テキスト検索サーバ１０１およびクライアント装置は、システムバス２０４を介してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２、入力コントローラ２０５、ビデオコントローラ２０６、メモリコントローラ２０７、通信Ｉ／Ｆコントローラ２０８等が接続された構成を採る。
【００２４】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２５】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や、各サーバあるいは各ＰＣが実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。また、本発明を実施するために必要な情報が記憶されている。なお外部メモリはデータベースであってもよい。
【００２６】
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【００２７】
また、入力コントローラ２０５は、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。
【００２８】
ビデオコントローラ２０６は、ディスプレイ２１０等の表示器への表示を制御する。尚、表示器は液晶ディスプレイ等の表示器でもよい。これらは、必要に応じて管理者が使用する。
【００２９】
メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、フレキシブルディスク（ＦＤ）、あるいは、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）カードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００３０】
通信Ｉ／Ｆコントローラ２０８は、ネットワーク１０４を介して外部機器と接続・通信し、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いた通信等が可能である。
【００３１】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上に表示することが可能である。また、ＣＰＵ２０１は、ディスプレイ２１０上のマウスカーソル（図示しない）等によるユーザ指示を可能とする。
【００３２】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイルおよび各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明についても後述する。
【００３３】
図３は、本発明の実施形態に係わるテキスト検索サーバ、クライアント装置におけるソフトウェア構成の一例を示すブロック図である。
【００３４】
クライアント装置１０２は、検索結果受信部３０１、表示制御部３０２、操作受付部３０３、キーワード送信部３０４、選択情報送信部３０５から構成される。
【００３５】
検索結果受信部３０１は、テキスト検索サーバから送信された検索結果であるテキストデータを特定するテキストデータＩＤや検索結果の一覧表示に用いる情報を受け付ける。テキストデータＩＤとは、実際にはテキストデータを一意的に特定するものであればよい。テキストデータとは、アプリケーションにより作成されたファイルである場合には、そのファイルからテキストを抽出したもの、ファイル属性などの文字列がある場合には、それらをテキストとして扱うことが可能である。また、データベースを検索対象とするのであればデータ項目の中のテキストを抽出することが可能である。その他、テキストを抽出可能であれば、任意のデータが対象である。
【００３６】
また、検索結果の一覧表示に用いる情報とは、テキストデータを本発明のテキスト検索システムによる検索結果をユーザに分かりやすく表示するための情報などを含む。例えば、後述の画面例では“タイトル”、“内容”などを含む。“タイトル”は、例えばファイル名でもよいし、テキストデータの１行目やファイルの内容を分かりやすくするための属性やタグなどがあれば、それらから抽出したものでもよい。“内容”は、必ずしもテキストデータの全てである必要はなく、例えばキーワードによりテキストデータを走査した結果、キーワードと一致する文字列が存在する部分を含む前後数文字を切り出したものなどであってもよい。前後数文字を切り出すのは、その文字列によりユーザが意図したテキストデータであるかどうかを判断するなどのためである。
【００３７】
表示制御部３０２は、検索条件となるキーワードを入力するための画面をクライアント装置１０２の表示装置に表示させる。また、検索結果受信部３０１により受け付けた検索結果の一覧表示に用いる情報を表示させる。
【００３８】
操作受付部３０３は、表示制御部３０２により表示された画面において、ユーザによるキーワードの入力操作、検索実行をテキスト検索サーバ１０１に指示する検索ボタンの押下、検索結果一覧からテキストデータに関する情報を選択させる操作を受け付ける。テキストデータに関する情報を選択させる操作により各テキストデータの詳細を閲覧することなどが可能である。
【００３９】
キーワード送信部３０４は、操作受付部３０３においてユーザから受け付けたキーワードをテキスト検索サーバ１０１に送信する。
【００４０】
選択情報送信部３０５は、操作受付部３０３においてユーザが選択したテキストデータに関する情報に対応するテキストデータＩＤをテキスト検索サーバ１０１に送信する。
【００４１】
テキスト検索サーバ１０１は、関連語情報記憶部３１１、関連語情報登録部３１２、キーワード受信部３１３、関連語情報検索部３１４、全文検索部３１５、検索結果送信部３１６、選択情報受信部３１７から構成される。
【００４２】
関連語情報記憶部３１１は、テキストデータを特定する情報（以下、テキストデータＩＤとする）と、該テキストデータが検索時に対応するキーワードを特に関連語として、対応付けて、関連語情報として記憶する記憶部である。テキストデータＩＤは、テキストデータを一意に特定できる情報であればよい。関連語情報記憶部３１１は、テキスト検索システム全体において、ユーザ全員、あるいは特定のグループで共有されてもよいし、また個人別に用意されてもよい。また、これらが混在するものであってもよい。関連語情報記憶部３１１が他のユーザと共有される場合には、あるユーザが検索に用いたキーワードと、そのユーザが選択したテキストデータの対応付けが、他のユーザでも利用されるため、特定のキーワードで検索されるテキストデータのランク付けがなされる効果が得られる。
【００４３】
関連語情報登録部３１２は、前述のテキストデータＩＤと、関連語を対応付けて関連語情報として関連語情報記憶部３１１に記憶させる。
【００４４】
キーワード受信部３１３は、検索条件であるキーワードをキーワード送信部３０４により受け付ける。
【００４５】
関連語情報検索部３１４は、キーワード受信部３１３により受け付けたキーワードが、関連語情報記憶部３１１に記憶されている関連語情報における関連語と一致する場合に、対応するテキストデータＩＤを検索結果として取得し、通知する。
【００４６】
全文検索部３１５は、キーワード受信部３１３により受け付けたキーワードに基づき、テキストデータに対して全文検索を実行し、テキストデータＩＤを検索結果として取得し、通知する。
【００４７】
検索結果送信部３１６は、関連語情報検索部３１４および全文検索部３１５により取得、通知された検索結果を、クライアント装置１０２に送信する。送信は、検索結果が全て取得された後に行ってもよい。また、本発明の実施形態においては、例えば、関連語情報検索部３１４の検索処理完了時点で、全文検索部３１５の検索処理完了を待たずに、前者の検索結果のみを送信し、後者が完了してから後者の検索結果を送信する、などの構成にしてもよい。また、両者の検索手段による検索結果が１件取得される度に、送信してもよい。なお、送信する検索結果は、検索結果に対応するテキストデータの全体である必要はなく、例えば、クライアント装置１０２におけるユーザが、検索結果一覧を確認するための表示に必要なデータと、検索結果一覧からユーザが選択したテキストデータを特定するテキストデータＩＤなどでよい。ユーザにより、後者のテキストデータＩＤが選択された場合に、そのテキストデータ（この段階では全ては表示されていない）に対する詳細の閲覧要求があったものとして、初めてテキストデータ全体をクライアント装置１０２に送信する、などであってもよい。
【００４８】
選択情報受信部３１７は、選択情報送信部３０５によりクライアント装置１０２から送信されたユーザが選択したテキストデータに対応するテキストデータＩＤを受信する。これにより、前述したように、受信したテキストデータＩＤに対応するテキストデータをユーザに閲覧させるため、テキストデータ全体をクライアント装置１０２に送信する、などの処理を呼び出すように実装することが可能となる。
【００４９】
次に、図４から図８の画面例、関連語情報記憶部３１１のデータ構成の例を用いて本発明の実施形態に係わる処理を説明する。
【００５０】
図４は、本発明の実施形態に係わるクライアント装置における検索のキーワードを入力する画面の一例である。検索操作画面４００ａは、キーワード入力フィールド４０１ａ、検索結果一覧表示フィールド４０２ａ、検索指示ボタン４０３により構成される。また、本例では検索対象となるテキストデータは４０４に格納されており、テキストデータはＴＥＸＴＩＤ４０５、タイトル４０６、内容４０７により構成されている。
【００５１】
本例では、キーワード入力フィールド４０１ａに検索のキーワードとして“ペット”、“犬”の２つが入力されている。この状態で検索指示ボタン４０３を押下すると検索指示がテキスト検索サーバ１０１に送られ、検索結果が検索結果一覧表示フィールド４０２ａに表示される。この時点では、図６で詳細に説明する関連語情報記憶部３１１は、まだ初期状態で関連語情報は登録されていないものとする。この場合、関連語情報検索は有効ではなく、全文検索のみが処理される。
【００５２】
図５は、本発明の実施形態に係わる全文検索の検索結果をクライアント装置において表示する画面の一例である。本例は、図４で説明した条件において、検索処理をした結果の表示画面である。すなわち、４０４に格納されたＴＥＸＴ０１〜ＴＥＸＴ０６を、全文検索により検索した結果であり、検索結果一覧表示フィールド４０２ｂに５件の検索結果が表示されている。
【００５３】
検索結果としては、キーワードである“ペット”に対し、“カーペット”（ＴＥＸＴ０２）、“ペットボトル”（ＴＥＸＴ０６）などが含まれる。すなわち全文検索による処理であるため“ペット”には関係のないテキストデータ内の文字列がマッチすることによる。また、“ペット”に関する話題であっても、全てのテキストデータについてユーザの興味があるとは限らない。そこで、ユーザの興味があると思われるテキストデータを、ユーザが選択（テキストデータの詳細を閲覧するためなどの選択）したタイミングなどで、テキストデータＩＤと本例の検索に使用したキーワードを、次の図６で説明する関連語情報記憶部３１１に登録する。
【００５４】
図６は、本発明の実施形態に係わる関連語情報記憶部３１１のデータ構成の一例である。関連語情報記憶部３１１は、例としてマトリックス形式のテーブル６００ａとして構成される。すなわち、縦方向は関連語一覧６０１を示し、横方向はＴＥＸＴＩＤ一覧６０２を示し、関連語とＴＥＸＴＩＤが交わるセルには選択結果６０３が示される。選択結果６０３に記載される情報は、本例では、関連語に対応するキーワードに基づき検索を実行し、その検索結果一覧から、ＴＥＸＴＩＤに対応するテキストデータをユーザが選択した回数（選択回数）である。また、回数ではなく、単に選択されたことがある（“ＴＲＵＥ”）、ない（“ＦＡＬＳＥ”）のフラグであってもよい。
【００５５】
“ペット”、“犬”のキーワードに基づく検索結果（図５）から、“ＴＥＸＴ０１”、“ＴＥＸＴ０４”、“ＴＥＸＴ０５”をユーザが選択（閲覧など）した結果は、テーブル６００ａの通りとなる。さらに、“ペット”、“猫”のキーワードに基づく検索結果（不図示）から、“ＴＥＸＴ０３”、“ＴＥＸＴ０４”をユーザが選択（閲覧など）した結果は、テーブル６００ｂの通りとなる。
【００５６】
なお、テーブルは必ずしもマトリックス形式ではなくともよい。例えばテーブル６００ｃのように、関連語が索引形式で並び（６０４ａ）、キーワードに対応する索引の中から該当する関連語（例えば“犬”）にリンクして、テキストデータＩＤ（６０５）と選択回数（６０６）が格納されていてもよい。マトリックス形式のように選択回数が“０”である場合には、対応するテキストデータＩＤ（６０５）は格納されておらず、選択されて初めて格納される。また、前述のように選択されたことがあるか否か判断ができればよい場合には、テーブル６００ｄのように選択回数を格納するデータ（６０６に対応する部分）はなくともよい。
【００５７】
また、テキスト数６０７を関連語毎に格納してもよい。詳細は後述するが、検索においてユーザが入力したキーワードに基づき関連語を検索する際に、効率的な処理をする効果が得られる。
【００５８】
図７は、本発明の実施形態に係わる検索結果をクライアント装置において表示する画面の一例である。図４〜図６の６００ａで説明した状態で、再度、“ペット”、“犬”で検索する。本例では、前述の検索処理の説明とは異なり、関連語情報としてテーブル６００ａがあるため、関連語情報検索の処理が行われる。
【００５９】
結果として、例えば関連語情報での検索結果に基づき、先にユーザが選択した“ＴＥＸＴ０１”、“ＴＥＸＴ０４”、“ＴＥＸＴ０５”が上位に表示され（４０２ｃの７０１）、逆に先にユーザが選択しなかった“ＴＥＸＴ０２”、“ＴＥＸＴ０６”は下位に表示される（４０２ｃの７０２）。また、この順位は、選択回数を考慮するよう実装してもよく、例えば、関連語情報記憶部３１１が６００ｂのようになっている状態で、選択回数の多い“ＴＥＸＴ０４”が“ＴＥＸＴ０１”より上位に表示されてもよい。すなわち、“ペット”と“犬”の選択回数と合計すると、他のテキストデータは２回であるのに対し、“ＴＥＸＴ０４”のみ３回となるため上位に表示してもよい。これにより、検索時に入力したキーワードと関連語情報記憶部３１１に格納された関連語情報に基づき、関連度が高い情報は分かりやすく上位に表示される。
図６の方法では、関連語検索による検索結果が上位に表示されるものの、会に表示される全文検索による結果との間に区別がつかない。そこで例えば、境界線を明確に引く、タイトルの色や文字の形態を変える、各結果にアイコンを付けて区別するなど、様々な表示形態の変更により区別できるようにしてもよい。また、区別せずに、単なる優先順位の違い、と捉えてもよい。
【００６０】
図８は、本発明の実施形態に係わる検索結果をクライアント装置において表示する画面の一例である。本画面の例では、検索結果を関連語情報に基づく検索処理に対応する結果（８０１の７０１）と、全文検索に基づく検索処理に対応する結果（８０２の７０２）と、異なる表示枠に分けて表示してもよい。
【００６１】
図７、図８の表示方法は例であり、その他の方法でもよい。また、後述するが、全ての検索結果が得られてから表示するものであってもよいし、検索結果が1つ得られる度に、テキスト検索サーバ１０１から検索結果に対応する情報を取得し、表示するものであってもよい。
【００６２】
なお、前述の説明は、全てのキーワードをＡＮＤ条件として、全て含むテキストデータのみを検索結果として取得するように説明した。キーワードをＯＲ条件として検索し、１つでもキーワードを含むテキストデータを検索結果として取得、通知し、クライアント装置１０２において表示するようにしてもよい。また、この場合は、より多くのキーワードを関連語として含むものを上位に表示する、等の実装をしてもよい。
【００６３】
次に図９から図１２のフローチャートを用いて処理の流れを説明する。
【００６４】
図９は、本発明の実施形態に係わる関連語情報検索の処理を示すフローチャートの一例である。図９の各ステップは、テキスト検索サーバ１０１のＣＰＵ２０１によって実行される。
【００６５】
ステップＳ９０１において、キーワード受信部３１３により受け付けたキーワードの全てが、関連語情報記憶部３１１に関連語としてあるかを判定する。具体的には、全てのキーワードが、図６の６０１（テーブル６００ａ）、６０４ａ（テーブル６００ｃ）、６０４ｂ（テーブル６００ｄ）に格納されているか、検索して判定する。
【００６６】
ステップＳ９０２において、キーワード受信部３１３により受け付けたキーワードのうちの１つを選択する。選択は任意に行ってもよい。なお、キーワードと一致する関連語のうち、図６のテーブル６００ｄにおけるテキスト数６０７に記載された数が最も小さいものを選択してもよい。その場合、後続のステップで、他のキーワードと一致するＴＥＸＴＩＤ一覧を絞り込む処理（ステップＳ９０６）の際に、確認するＴＥＸＴＩＤの数が少なくなり、また、早い段階でＴＥＸＴＩＤ一覧が空になる（ステップＳ９０７において“ＹＥＳ”）可能性が高くなるため、処理性能が向上する可能性がある。
【００６７】
ステップＳ９０３において、ステップＳ９０２で選択したキーワードに一致する関連語に対応するテキストデータＩＤを、関連語情報記憶部３１１から取得しＴＥＸＴＩＤの一覧を作成する。
【００６８】
ステップＳ９０４からステップＳ９０８のループ処理においては、キーワード受信部３１３により受け付けた全てのキーワードに対する繰り返し処理を実行する。ただし、ステップＳ９０２で使用したキーワードを除く。
【００６９】
ステップＳ９０５において、１つのキーワードに着目する。ここで着目したキーワードにより、ループ処理の１回分の処理を実行する。
【００７０】
ステップＳ９０６において、着目中のキーワードと一致する関連語を関連語情報記憶部３１１から検索する。一致するものがあれば（本説明では、ステップＳ９０１により必ず存在する）、その関連語に対応するＴＥＸＴＩＤの一覧を取得する。さらに、ステップＳ９０３で作成したＴＥＸＴＩＤの一覧と、本ステップで取得したＴＥＸＴＩＤの一覧の両方に存在するＴＥＸＩＤのみを、ステップＳ９０３で作成したＴＥＸＴＩＤの一覧として残す（すなわちＡＮＤ条件で絞り込む）。
【００７１】
ステップＳ９０７において、前述のＴＥＸＴＩＤの一覧（ステップＳ９０３において作成し、ステップＳ９０６においてＡＮＤ条件で絞り込んだＴＥＸＴＩＤの一覧）が空になっているか否かを判定する。ＴＥＸＴＩＤの一覧が空でない（“ＮＯ”）場合には、すなわち現状の処理までに使用したキーワードを全て含むテキストデータが存在することとなる。そのため、ステップＳ９０８に進み、残りのキーワードがあればループ処理を継続する。ＴＥＸＴＩＤの一覧が空である（“ＹＥＳ”）場合には、すなわち、現状の処理までに使用したキーワードを全て含むテキストデータは存在しないこととなる。従って検索処理を継続不要となり、図９のフローチャートを完了する。
【００７２】
ステップＳ９０９において、前述のＴＥＸＴＩＤの一覧は空ではなく、検索結果とすべきテキストデータＩＤの全てが取得された。これにより図９のフローチャートを完了する。
【００７３】
なお、本フローチャートでは、全てのキーワードをＡＮＤ条件で含むテキストデータを関連語情報検索の検索結果として取得、通知する処理の説明をした。前述の通り、ＯＲ条件とする場合には、ステップＳ９０１の判定をせず、また、ステップＳ９０６において着目中のキーワードと一致する関連語に対応するＴＥＸＴＩＤと、現状のＴＥＸＴＩＤ一覧にあるＴＥＸＴＩＤの両方にあるものを残すのではなく、一方にあればＴＥＸＴＩＤ一覧に追加していく。
【００７４】
さらに、ＴＥＸＴＩＤ一覧に選択回数を追加し、また再度異なるキーワード（関連語）に対して同じＴＥＸＴＩＤが出現した場合には、その選択回数を累積することにより、図８の最後に説明した選択回数に基づく優先順位を決定し、表示順の変更などの処理をする効果が得られる。
以上で、図９のフローチャートの説明を完了する。
【００７５】
図１０は、全文検索の処理を示すフローチャートの一例である。図１０の各ステップは、テキスト検索サーバ１０１のＣＰＵ２０１によって実行される。本フローチャートによって、全文検索の流れを説明する。
【００７６】
ステップＳ１００１からステップＳ１０１０のループ処理においては、テキストデータ管理サーバ１０３に格納された全てのテキストデータに対する繰り返し処理を実行する。
【００７７】
ステップＳ１００２において、１つのテキストデータに着目する。ここで着目したテキストデータに対してループ処理の１回分の処理を実行する。
【００７８】
ステップＳ１００３において、着目中のテキストデータが既に関連語情報検索（図９で示した処理）による検索結果とされたものか否かを判定する。すなわち、関連語情報検索は、全文検索と比較して短時間で処理されるため、関連語情報検索の最終的な検索結果の一覧に着目中のテキストデータに対応するテキストＩＤが含まれているか確認し、含まれていれば全文検索する必要はない。
【００７９】
着目中のテキストデータに対して全文検索を実行する時点では、必ずしも関連語情報検索の検索結果が全て得られているとは限らない。その場合、ステップＳ１００３の判定は一旦保留して、全文検索処理を実行し、関連語情報検索がすべて完了した時点で通知を受け、その時点で暫定的に全文検索の検索結果一覧に含まれているテキストデータＩＤが、関連語情報検索の検索結果一覧に含まれているか判定して、含まれていれば結果から除外してもよい。
【００８０】
関連語情報検索による検索結果とされたテキストデータ（ステップＳ１００３で“ＮＯ”）の場合、ステップＳ１００４に進む。関連語情報検索による検索結果とされたテキストデータではない（ステップＳ１００３で“ＹＥＳ”）場合、ステップＳ１０１０に進む（すなわち着目中のテキストデータに対する処理を完了し、次のテキストデータに着目する）。
【００８１】
ステップＳ１００４からステップＳ１００８のループ処理においては、着目中のテキストデータにキーワード受信部３１３で受け付けたキーワードが含まれているかどうか判定するため、各キーワードに対して繰り返し実行される。
【００８２】
ステップＳ１００５において、キーワード受信部３１３で受け付けたキーワードのうち、１つのキーワードに着目する。
【００８３】
ステップＳ１００６において、着目中のキーワードで着目中のテキストデータを走査する。すなわち、文字列であるキーワードが、テキストデータ中の部分文字列として存在する位置を、例えばテキストデータの先頭から探していく。
【００８４】
ステップＳ１００７において、文字列であるキーワードが、テキストデータ中の部分文字列として存在したか否かを判定する。存在した（“ＹＥＳ”である）場合にはステップＳ１００８に進む。すなわち、次のキーワードに着目して同じ処理を行う。存在しない（“ＮＯ”である）場合には、着目中のテキストデータは、着目中のキーワードを文字列として含まないとしてステップＳ１０１０に進む。すなわち、着目中のテキストデータは、検索結果とはせず次のテキストデータに対する処理を実行する。
【００８５】
着目中のテキストデータに対して、ステップＳ１００４からステップＳ１００８のループ処理により、全てのキーワードが含まれる場合には、該ループ処理を抜け、ステップＳ１００９に進む。
【００８６】
ステップＳ１００９において、着目中のテキストデータは、キーワード受信部３１３で受け付けた全てのキーワードが含まれているので、該テキストデータを検索結果とする。次にステップＳ１０１０に進み次のテキストデータの処理を実行する。
【００８７】
ステップＳ１００１からステップＳ１０１０のループ処理が完了すると、全てのテキストデータに対して検索処理、すなわち図１０のフローチャートの処理が完了する。
【００８８】
なお、本フローチャートでは、全てのキーワードをＡＮＤ条件で含むテキストデータを全文検索の検索結果として取得、通知する処理の説明をした。ＯＲ条件とする場合には、ステップＳ１００７の判定の結果、“ＹＥＳ”の場合はステップＳ１００４からステップＳ１００８のループ処理を終了してステップＳ１００９において検索結果とし、また“ＮＯ”の場合には同ループ処理を繰り返して全キーワードに対する処理を完了するまで繰り返す。ループ処理を最後まで実行したにもかかわらず１つのキーワードもテキストデータに含まれることがない場合には、ステップＳ１００９をスキップして、ステップＳ１０１０に進む（すなわち、次のテキストデータの処理に進む）。以上で、図１０のフローチャートの説明を完了する。
【００８９】
図１１は、本発明の実施形態に係わるテキスト検索の処理を示すフローチャートの一例である。図１１の検索処理は、テキスト検索サーバ１０１において関連語検索をまず実行し、その結果をクライアント装置１０２に返して表示し、その後、全文検索を実行し、その結果をクライアント装置１０２に返す処理を説明したものである。図１１のステップＳ１１０１からステップＳ１１０６は、クライアント装置１０２のＣＰＵ２０１、またステップＳ１１１１からステップＳ１１１５は、テキスト検索サーバ１０１のＣＰＵ２０１によって実行される。
【００９０】
ステップＳ１１０１において、クライアント装置１０２は、ユーザから検索条件となるキーワードを受け付ける。
【００９１】
ステップＳ１１０２において、クライアント装置１０２は、ステップＳ１１０１にて受け付けたキーワードを、テキスト検索サーバ１０１に送信する。
【００９２】
ステップＳ１１１１において、テキスト検索サーバ１０１は、クライアント装置１０２から送信されたキーワードを受け付ける。
【００９３】
ステップＳ１１１２において、テキスト検索サーバ１０１は、ステップＳ１１１１にて受け付けたキーワードに基づき、関連語情報検索処理を実行する。この処理は、図９で説明したフローチャートなどによる。
【００９４】
ステップＳ１１１３において、テキスト検索サーバ１０１は、関連語情報検索処理により取得した検索結果一覧をクライアント装置１０２に送信する。
【００９５】
ステップＳ１１０３において、クライアント装置１０２は、テキスト検索サーバ１０１のステップＳ１１１３にて送信された検索結果一覧を受信する。
【００９６】
ステップＳ１１０４において、クライアント装置１０２は、ステップＳ１１０３にて受信した検索結果一覧を、クライアント装置１０２の表示装置に表示させる。
【００９７】
ステップＳ１１１４において、テキスト検索サーバ１０１は、ステップＳ１１１１にて受け付けたキーワードに基づき、全文検索処理を実行する。この処理は、図１０で説明したフローチャートなどによる。
【００９８】
ステップＳ１１１５において、テキスト検索サーバ１０１は、全文検索処理により取得した検索結果一覧をクライアント装置１０２に送信する。
【００９９】
ステップＳ１１０５において、クライアント装置１０２は、テキスト検索サーバ１０１のステップＳ１１１５にて送信された検索結果一覧を受信する。
【０１００】
ステップＳ１１０６において、クライアント装置１０２は、ステップＳ１１０５にて受信した検索結果一覧を、クライアント装置１０２の表示装置に表示させる。
なお、１つのテキストデータに対応する各検索結果が、“関連語情報検索”により検索されたものであるか、“全文検索”により検索されたものであるかは、その結果をステップＳ１１０３により受信したか、Ｓ１１０５により受信したかで判別可能であるため、表示する位置（順序、あるいは表示する枠）などを変更してもよい。また、同一の枠に表示する場合には、例えば関連語情報検索による結果を上位に表示し、全文検索との間に、境界線を表示してユーザに識別可能とする、検索結果の前にアイコンを付与する、その他、色などによる表示形態を変更してもよい。
以上で、図１１のフローチャートの説明を完了する。
【０１０１】
＜第２の実施形態＞
図１２は、本発明の実施形態に係わるテキスト検索の処理を示すフローチャートの一例である。図１２の検索処理は、テキスト検索サーバ１０１において関連語検索と全文検索を非同期に実行し、検索結果が得られる度に、その結果（１つまたは複数であってもよい）をクライアント装置１０２に返す処理を説明したものである。図１２のステップＳ１２０１からステップＳ１２０６は、クライアント装置１０２のＣＰＵ２０１、またステップＳ１２１１からステップＳ１２１４は、テキスト検索サーバ１０１のＣＰＵ２０１によって実行される。
【０１０２】
ステップＳ１２０１において、クライアント装置１０２は、ユーザから検索条件となるキーワードを受け付ける。
【０１０３】
ステップＳ１２０２において、クライアント装置１０２は、ステップＳ１２０１にて受け付けたキーワードを、テキスト検索サーバ１０１に送信する。
【０１０４】
ステップＳ１２１１において、テキスト検索サーバ１０１は、クライアント装置１０２から送信されたキーワードを受け付ける。
【０１０５】
ステップＳ１２１２において、テキスト検索サーバ１０１は、ステップＳ１２１１にて受け付けたキーワードに基づき、関連語情報検索処理を実行する。この処理は、図９で説明したフローチャートなどによる。また、全てのテキストデータに対して検索を完了した場合には、終了の通知をする。
【０１０６】
ステップＳ１２１３において、テキスト検索サーバ１０１は、ステップＳ１２１１にて受け付けたキーワードに基づき、全文検索処理を実行する。この処理は、図１０で説明したフローチャートなどによる。ただし、関連語情報検索を優先するため、全文検索対象とするのは関連語情報検索を完了し、且つ関連語情報検索の条件を満たさない（検索結果とならない）テキストデータを対象とする。また、全てのテキストデータに対して検索を完了した場合には、終了の通知をする。
【０１０７】
前述のステップＳ１２１２とステップＳ１２１３の検索処理は非同期に実行され、各々検索結果を取得する度、あるいは終了の通知をする際に、処理を次のステップＳ１２１４に進める。
【０１０８】
ステップＳ１２１４においてテキスト検索サーバ１０１は、ステップＳ１２１２またはステップＳ１２１３から、検索結果あるいは終了通知を取得し、それらをクライアント装置１０２に送信する。この場合、関連語情報検索（Ｓ１２１２）と全文検索（Ｓ１２１３）のいずれによる検索結果であるかを判別可能な情報を含めて送信する。また、関連語情報検索と全文検索の両方が終了した場合には、前記の送信後、テキスト検索サーバ１０１側の非同期処理のフローチャートを完了する。
【０１０９】
ステップＳ１２０３において、クライアント装置１０２は、テキスト検索サーバ１０１のステップＳ１１１３にて送信された検索結果（１つ又は複数）あるいは終了通知を受信する。また、受信内容が“検索結果”である場合には、１つのテキストデータに対応する各検索結果が、“関連語情報検索”により検索されたものであるか、“全文検索”により検索されたものであるかを判別可能な情報も受信する。検索結果は非同期に送信されてくるため、テキスト検索サーバ１０１から送信される検索結果を順次受け付ける。
【０１１０】
ステップＳ１２０４において、クライアント装置１０２は、ステップＳ１２０３における受信内容が、“検索結果”か“終了通知”か、を判定する。受信内容が“検索結果”である場合には、ステップＳ１２０５に進む。受信内容が“終了通知”である場合には、ステップＳ１２０６に進む。
【０１１１】
ステップＳ１２０５において、クライアント装置１０２は、ステップＳ１２０３において受信した検索結果をクライアント装置１０２の表示装置に表示させる。また、前述で説明した通り、１つのテキストデータに対応する各検索結果が、“関連語情報検索”により検索されたものであるか、“全文検索”により検索されたものであるかを判定できる情報も受信しているため、表示する位置（順序、あるいは表示する枠）などを変更してもよい。その他、色など表示形態を変更してもよい。前述の通り、検索結果は順次送信されてくるため、すべて受信されるのを待たずに、受信済みの検索結果を表示する。検索結果一覧がすでに表示されている場合には、その検索結果一覧の表示に追加する。次に、さらにテキスト検索サーバ１０１からの送信を受信するため、ステップＳ１２０３に戻る。
【０１１２】
ステップＳ１２０６において、クライアント装置１０２は、関連語情報検索処理の終了通知（ステップＳ１２１２に基づく終了通知）と、全文検索処理の終了通知（ステップＳ１２１３に基づく終了通知）の両方を受信したか否かを判定する。受信した終了通知がいずれか一方である（“ＮＯ”）場合には、テキスト検索サーバ１０１における検索処理は継続しており、クライアント装置１０２は受信を継続するため、ステップＳ１２０３に戻る。両方から終了通知を受信した（“ＹＥＳ”）場合には、テキスト検索サーバ１０１における検索処理は完了したとして、図１２のフローチャートを完了する。
以上により、図１２のフローチャートの説明を完了する。
【０１１３】
＜第３の実施形態＞
次に図１３〜図１５を用いて、本発明の第３実施形態における関連語情報検索と全文検索の処理について説明する。
【０１１４】
図１３は、本発明の第３実施形態に係わる関連語検索の処理を示すフローチャートの一例である。図１３の各ステップは、テキスト検索サーバ１０１のＣＰＵ２０１によって実行される。
【０１１５】
図１３〜図１４の処理は図９〜図１２で説明したテキスト検索処理とは異なり、全文検索で各テキストデータを走査するキーワードは、関連語情報記憶部３１１のＴＥＸＴＩＤに対応する情報（後述する図１５の縦方向）に選択結果がない関連語に限定される。すなわち、図９〜図１２で説明した処理では、関連語情報検索の検索結果として通知されなかったテキストデータは、全文検索においては全てのキーワードで改めて走査されていた。しかし、キーワードのうち、前記テキストデータの関連語であれば、テキストデータに含まれていることが判明しているため、改めて全文検索をする必要はない。そのため、テキストデータの走査を省略することで、図９〜図１２よりさらに効率化（高速化）することができる。
【０１１６】
ステップＳ１３０１からステップＳ１３０４のループ処理においては、キーワード受信部３１３で受け付けた全てのキーワードに対する繰り返し処理を実行する。
【０１１７】
ステップＳ１３０２においては、１つのキーワードに着目する。ここで着目したキーワードにより、ループ処理の１回分の処理を実行する。
【０１１８】
ステップＳ１３０３においては、着目中のキーワードに一致する関連語が、関連語情報記憶部３１１に存在すれば、その関連語に対応するＴＥＸＴＩＤ一覧を関連語情報記憶部３１１から取得する。
【０１１９】
ステップＳ１３０５においては、ステップＳ１３０３において取得した各関連語に対応するＴＥＸＴＩＤ一覧の全てに共通して含まれるＴＥＸＴＩＤを関連語検索の検索結果として通知する。すなわち、キーワードの全てが関連語であるＴＥＸＴＩＤにあるテキストデータは、全文検索を処理しなくとも、図１３のフローチャートにおいては、テキスト検索処理の結果とされる。
【０１２０】
ここで、キーワードとして「ペット、犬」の２つが指定された場合に、図１３のフローチャートが完了した時点の検索結果を、図１５を用いて説明する。
【０１２１】
図１５は、本発明の実施形態に係わる関連語情報記憶部と、関連語情報検索と全文検索の検索結果を説明するための図である。具体的に図４の４０４のテキストデータに対して「犬、ペット」の２つを条件となるキーワードとして検索した結果を説明する図である。
【０１２２】
図１５の６００ｅは、６つのテキストデータのうち、ＴＥＸＴ０１、ＴＥＸＴ０４、ＴＥＸＴ０５の３つが、関連語として「犬、ペット」のいずれをも記憶している。従って、関連語検索が完了した時点で、前述の３つのテキストデータが検索結果として通知される。
【０１２３】
また、ＴＥＸＴ０２は「犬」のみ、ＴＥＸＴ０３は「ペット」のみが関連語検索における検索結果として記憶される。これらの結果により、次に説明する全文検索においてＴＥＸＴ０２は「ペット」のみテキストデータを走査すればよく、同様にＴＥＸＴ０３においては「犬」のみテキストデータを走査すればよい。
【０１２４】
さらに、ＴＥＸＴ０６においては、「犬、ペット」のいずれも関連語ではないため、次の全文検索においてテキストデータの走査をする必要がある。
【０１２５】
図１３のフローチャートの説明により、関連語検索において検索結果となったキーワードが、全キーワードのうちの一部であっても次の全文検索において検索不要となり、全文検索を実行する際にテキストデータを走査すべきキーワードの総数を削減し、全文検索の処理速度を向上させる効果を得ることができる。
【０１２６】
以上で、図１３のフローチャートのテキスト検索処理、および図１５の６００ｅを用いたテキスト検索結果の説明を完了する。
【０１２７】
図１４は、本発明の第３実施形態に係わる全文検索の処理を示すフローチャートの一例である。図１４の各ステップは、テキスト検索サーバ１０１のＣＰＵ２０１によって実行される。図１４のフローチャートでは、図１３の関連語検索に対して、ユーザが指定したキーワードの「いずれかを関連語として含まないテキストデータ」に対して、全文テキストを実行するものである。
【０１２８】
ステップＳ１４０１からステップＳ１４１０のループ処理においては、テキストデータ管理サーバ１０３に格納された全てのテキストデータに対する繰り返し処理を実行する。ただし、前述の関連語検索の検索結果である（ステップＳ１３０５において検索結果として通知された）テキストデータは除く。図１５の６００ｆで示すように、ＴＥＸＴ０１、ＴＥＸＴ０４、ＴＥＸＴ０５は全文検索を不要である。
【０１２９】
ステップＳ１４０２においては、検索対象とするテキストデータの１つに着目する。
【０１３０】
ステップＳ１４０３からステップＳ１４０８のループ処理においては、着目中のテキストデータに対して、全文検索を実行するため、全てのキーワードに対する繰り返し処理を実行する。
【０１３１】
ステップＳ１４０４においては、検索条件となるキーワードのうちの１つに着目する。
【０１３２】
ステップＳ１４０５においては、着目中のキーワードに一致するＴＥＸＴＩＤ一覧（図１３のステップＳ１３０３で取得したもの）に、着目中のテキストデータ（ＴＥＸＴＩＤ）が含まれるか否かを判定する。例えば、着目中のテキストデータが図１５のＴＥＸＴ０２であれば、キーワード「犬」に対するＴＥＸＴＩＤ一覧に含まれる。ＴＥＸＴ０３であれば、キーワード「ペット」に対するＴＥＸＴＩＤ一覧に含まれる。含まれる場合（ＹＥＳの場合であってテキストデータの走査が不要な場合）には、ステップＳ１４０８に進む。含まれない場合（ＮＯの場合であってテキストデータの走査が必要な場合）には、ステップＳ１４０６に進む。
【０１３３】
ステップＳ１４０６においては、着目中のキーワードで着目中のテキストデータを走査し、テキストデータ中にキーワードが含まれるかどうかをチェックする。
【０１３４】
ステップＳ１４０７においては、ステップＳ１４０６の走査の結果、着目中のテキストデータ内に、着目中のキーワードが含まれるか否かを判定する。含まれる場合（ＹＥＳの場合）にはステップＳ１４０８に進む。含まれない場合（ＮＯの場合）には、ステップＳ
【０１３５】
１４１０に進む（検索結果として通知されず、処理は次のテキストデータに進む）。
【０１３６】
ステップＳ１４０９においては、着目中のテキストデータを検索結果として通知する。
【０１３７】
以上の図１４のフローチャートの処理では、検索条件であるキーワードが着目中のテキストデータの関連語である場合には、走査を行わないことで、全文検索の速度を向上させる効果が得られる。
【０１３８】
以上で、図１４のフローチャートにおける全文検索の処理の説明を完了する。
【０１３９】
図１３、図１４のフローチャートは、図１１のそれぞれステップＳ１１１２、ステップＳ１１１４、あるいは図１２のそれぞれステップＳ１２１２、ステップＳ１２１３から呼び出して実行させることで、関連語検索と全文検索を連携させることが可能となる。
【０１４０】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１４１】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１４２】
また、本発明におけるプログラムは、図９〜図１４に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図９〜図１４の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図９〜図１４の各装置の処理方法ごとのプログラムであってもよい。
【０１４３】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１４４】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０１４５】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【０１４６】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４８】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。  さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１４９】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１５０】
１０１  テキスト検索サーバ
１０２  クライアント装置
１０３  テキストデータ管理サーバ
１０４  ネットワーク
３０１  検索結果受信部
３０２  表示制御部
３０３  操作受付部
３０４  キーワード送信部
３０５  選択情報送信部
３１１  関連語情報記憶部
３１２  関連語情報登録部
３１３  キーワード受信部
３１４  関連語情報検索部
３１５  全文検索部
３１６  検索結果送信部
３１７  選択情報受信部
【図１】
0005556876.tif 000002
【図２】
0005556876.tif 000003
【図３】
0005556876.tif 000004
【図４】
0005556876.tif 000005
【図５】
0005556876.tif 000006
【図６】
0005556876.tif 000007
【図７】
0005556876.tif 000008
【図８】
0005556876.tif 000009
【図９】
0005556876.tif 000010
【図１０】
0005556876.tif 000011
【図１１】
0005556876.tif 000012
【図１２】
0005556876.tif 000013
【図１３】
0005556876.tif 000014
【図１４】
0005556876.tif 000015
【図１５】
0005556876.tif 000016