説明

中間処理装置、中間処理方法、検索システム及びプログラム

【課題】ページング機能を用いた検索において、ページを指定してから当該ページが表示されるまでの待ち時間を短縮すること。
【解決手段】受信手段301は、テキストと当該テキストに対応付けられた固有の数値を意味するメタ情報とを対応付けて記憶したデータベースから前記メタ情報によって検索範囲が定められた検索要求に対応するテキストを抽出して外部に送信する検索装置に対する検索要求であって、前記検索装置から最後に受信したテキストに対応する最大又は最小のメタ情報と当該メタ情報を起点とする検索の方向を示す識別情報とキーワードとを含む検索要求を受信する。設定手段302は、受信手段301によって受信した検索要求に含まれるメタ情報と識別情報とに基づいて検索範囲の上限及び下限を設定する。送信手段303は、設定手段302によって設定された検索範囲を含むように当該検索要求を書き換えて前記検索装置に送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テキストを検索する技術に関する。
【背景技術】
【0002】
特定のウェブサイトに投稿されたテキストを複数のユーザが共有するマイクロブログが注目を集めている。マイクロブログの代表的なものとして、Twitter(登録商標)が知られている。Twitterは、予め登録したユーザに対して140字以内のテキストを投稿することを許可し、各ユーザの端末の画面には、当該ユーザが投稿したテキストと、当該ユーザによって予め登録された他のユーザが投稿したテキストが、投稿された時刻の降順で表示される。また、新たな投稿が行われるたびに、最新の投稿を含む表示に更新される。
【0003】
このようなマイクロブログのウェブサイトを対象とした検索システムが提供されている。この検索システムでは、ユーザが入力したキーワードに該当するテキストをウェブサイトから抽出し、抽出されたテキストを端末の画面に表示する。このような検索においては、一般に多量のテキストが抽出されるので、それらを一度に端末に送信すると、送信完了までに長時間を要してしまう。このような不都合を解消するために、ページング機能を用いた検索が行われる。ページング機能とは、検索によって抽出されたデータを定められた規則に従って並べ替え、並べ替えられたデータを複数のページに分割し、端末側で指定されたページに対応するデータを端末に送信する機能である。マイクロブログの場合、例えば、検索によって抽出されたテキストを投稿時刻の降順に並べ替え、並べ替えられたテキストを一定数のテキストからなる複数のページに分割し、端末側で指定されたページに対応するテキストを表すHTML(HyperText Markup Language)データを生成して端末に送信する。端末の画面に表示されるページには、次のページへのハイパーリンク、前のページへのハイパーリンク、特定のページ番号のページへのハイパーリンク等、他のページをリンク先とするハイパーリンクが埋め込まれており、ハイパーリンクをクリックすると、リンク先に対応するページがウェブサイトから取得され、画面に表示される。
【0004】
従来の検索システムでは、ページング機能を用いた検索において次のような問題が発生する。従来、ページング機能によって検索結果の1ページ目を取得するには、抽出されたテキストの上位1件目から10件目までを指定し、2ページ目を取得するには、上位11件目から20件目までを指定し、・・・というように、単純に投稿時刻の降順における順位で指定していた。ところが、マイクロブログでは頻繁に投稿が行われるため、例えば、ユーザが1ページ目を取得してから2ページ目のハイパーリンクをクリックするまでの間に15件の投稿が行われた場合、1ページ目を取得した時点で最新であったテキストは、投稿時刻の降順における順位が16番目に下がってしまう。この時点でユーザが2ページ目を取得すると、1ページ目を取得した時点で最新であったテキストが2ページ目の6番目の順位で再び表示されてしまう。
【0005】
このような問題の対策として、Twitter社が提供するSearch API(非特許文献1)は、次の機能を備えている。
ユーザがブラウザを起動してTwitterの検索エンジンにアクセスし、キーワードとして「aaa」を入力して検索の実行を指示すると、ブラウザは、HTTP(Hypertext Transfer Protocol)のGETメソッドにより、次のURL(Uniform Resource Locator)に対応する検索要求を検索エンジンに送信する。
http://search.twitter.com/search.json?q=aaa&rpp=10&page=1
ここで、http://search.twitter.com/search.jsonは、Twitterが備える検索エンジンのURLであり、引数のqはキーワードであり、rppは1ページ当たりの投稿数であり、pageは取得するページの番号である。1ページ当たりの投稿数は予め10が設定されている。この検索要求に対して、検索エンジンは、文字列「aaa」を含むテキストを抽出し、抽出されたテキストのうち投稿時刻の降順における上位1件目から10件目までのテキストを含んだレスポンスを端末に送信する。
【0006】
Twitterでは、投稿されたテキストの各々に対して、投稿の順番を表すメタ情報であるTweet IDが割り当てられる。つまり、新しいテキストほど大きなTweet IDが割り当てられる。2回目以降の検索においては、検索エンジンは、最初に検索結果を取得した時点の最上位のTweet ID以下のTweet IDに対応するテキストを検索対象として検索を行う。例えば、3ページ目のハイパーリンクとして次のURLが各ページに埋め込まれている。
http://search.twitter.com/search.json?page=3&max_id=1111&q=aaa&rpp=10
ここで、max_idは、最初に検索結果を取得した時点の最上位のTweet IDであり、この例では「1111」である。ユーザがこのハイパーリンクをクリックすると、ブラウザは、上記のURLに対応する検索要求を検索エンジンに送信する。この検索要求に対して、検索エンジンは、max_id以下のTweet IDに対応するテキストを検索対象として、文字列「aaa」を含むテキストを抽出する。そして、検索エンジンは、抽出されたテキストのうち投稿時刻の降順における上位21件目から30件目までのテキストを含むレスポンスを端末に送信する。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】Twitter API Documentation、Get search、[online]、Twitter,Inc.、[平成23年9月30日検索]、インターネット<URL:https://dev.twitter.com/docs/api/1/get/search>
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところが、上記のような検索方法では、指定したページを表示させる場合に、最初の検索と同じ範囲を検索対象とするため、最初の検索と同等の負荷が検索エンジンにかかってしまう。すると、ユーザにとっては見かけ上、単に検索結果のページを切り替えるだけであるのに、ページを指定してから当該ページが表示されるまでに最初の検索と同等の待ち時間が生じてしまう。
本発明は、上述の課題に鑑みてなされたものであり、ページング機能を用いた検索において、ページを指定してから当該ページが表示されるまでの待ち時間を短縮することを目的とする。
【課題を解決するための手段】
【0009】
請求項1に係る中間処理装置は、テキストと当該テキストに対応付けられた固有の数値を意味するメタ情報とを対応付けて記憶したデータベースから前記メタ情報によって検索範囲が定められた検索要求に対応するテキストを抽出して外部に送信する検索装置に対する検索要求であって、前記検索装置から最後に受信したテキストに対応する最大又は最小のメタ情報と当該メタ情報を起点とする検索の方向を示す識別情報とキーワードとを含む検索要求を受信する受信手段と、前記受信手段によって受信した検索要求に含まれるメタ情報と識別情報とに基づいて検索範囲の上限及び下限を設定する設定手段と、前記設定手段によって設定された検索範囲を含むように当該検索要求を書き換えて前記検索装置に送信する送信手段とを有することを特徴とする。
【0010】
請求項2に係る中間処理装置は、請求項1に記載の中間処理装置において、前記設定手段は、メタ情報が小さくなる方向に検索する場合には、前記検索要求に含まれるメタ情報から定数を減じた値を検索範囲の下限に設定し、メタ情報が大きくなる方向に検索する場合には、前記検索要求に含まれるメタ情報に定数を加えた値を検索範囲の上限に設定することを特徴とする。
請求項3に係る中間処理装置は、請求項2に記載の中間処理装置において、検索で抽出されるテキスト数と前記定数とを対応付けて記憶する記憶手段と、検索で抽出されたテキスト数を前記検索装置から受信するテキスト数受信手段とを有し、前記設定手段は、前記テキスト数受信手段で受信したテキスト数に対応する定数を前記記憶手段から読み出すことを特徴とする。
請求項4に係る中間処理装置は、請求項1又は2に記載の中間処理装置において、前記受信手段は、抽出するテキストの数の指定を含む前記検索要求を受信し、前記設定手段は、前記検索要求で指定された数のテキストが抽出されなかった場合に、前記検索範囲の下限の引き下げ、又は、前記検索範囲の上限の引き上げを行うことを特徴とする。
請求項5に係る中間処理装置は、請求項4に記載の中間処理装置において、前記設定手段は、前記検索範囲の下限を引き下げる場合に当該検索範囲の上限を引き下げ、前記検索範囲の上限を引き上げる場合に当該検索範囲の下限を引き上げることを特徴とする。
【0011】
請求項6に係る中間処理方法は、通信部が、テキストと当該テキストに対応付けられた固有の数値を意味するメタ情報とを対応付けて記憶したデータベースから前記メタ情報によって検索範囲が定められた検索要求に対応するテキストを抽出して外部に送信する検索装置に対する検索要求であって、前記検索装置から最後に受信したテキストに対応する最大又は最小のメタ情報と当該メタ情報を起点とする検索の方向を示す識別情報とキーワードとを含む検索要求を受信する受信ステップと、制御部が、前記受信ステップにおいて受信した検索要求に含まれるメタ情報と識別情報とに基づいて検索範囲の上限及び下限を設定する設定ステップと、前記通信部が、前記設定ステップにおいて設定された検索範囲を含むように当該検索要求を書き換えて前記検索装置に送信する送信ステップとを有することを特徴とする。
【0012】
請求項7に係る検索システムは、テキストと当該テキストに対応付けられた固有の数値を意味するメタ情報とを対応付けて記憶したデータベースから前記メタ情報によって検索範囲が定められた検索要求に対応するテキストを抽出して外部に送信する検索装置と、前記検索装置から最後に受信したテキストに対応する最大又は最小のメタ情報と当該メタ情報を起点とする検索の方向を示す識別情報とキーワードとを含む検索要求を外部に送信し、前記検索装置が抽出したテキストを受信して表示する閲覧装置と、前記閲覧装置から前記検索要求を受信し、当該検索要求に含まれるメタ情報と識別情報とに基づいて検索範囲の上限及び下限を設定し、当該検索範囲を含むように当該検索要求を書き換えて前記検索装置に送信する中間処理装置とを有することを特徴とする。
【0013】
請求項8に係るプログラムは、コンピュータを、テキストと当該テキストに対応付けられた固有の数値を意味するメタ情報とを対応付けて記憶したデータベースから前記メタ情報によって検索範囲が定められた検索要求に対応するテキストを抽出して外部に送信する検索装置に対する検索要求であって、前記検索装置から最後に受信したテキストに対応する最大又は最小のメタ情報と当該メタ情報を起点とする検索の方向を示す識別情報とキーワードとを含む検索要求を受信する受信手段と、前記受信手段によって受信した検索要求に含まれるメタ情報と識別情報とに基づいて検索範囲の上限及び下限を設定する設定手段と、前記設定手段によって設定された検索範囲を含むように当該検索要求を書き換えて前記検索装置に送信する送信手段として機能させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、ページング機能を用いた検索において、ページを指定してから当該ページが表示されるまでの待ち時間を短縮することができる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施形態に係る検索システム1の構成を示す図である。
【図2】中間処理装置30のハードウェア構成を示す図である。
【図3】閲覧装置20の表示部に表示されるページを示す図である。
【図4】中間処理装置30の設定手段302が実行する処理を示す流れ図である。
【図5】中間処理装置30の設定手段302が実行する処理を示す流れ図である。
【図6】中間処理装置30の機能ブロックを示す図である。
【図7】中間処理装置30の設定手段302が実行する処理を示す流れ図である。
【発明を実施するための形態】
【0016】
本発明の実施形態について説明する。
(1)実施形態の構成
図1は、本発明の実施形態に係る検索システム1の構成を示す図である。検索システム1は、移動通信網10、閲覧装置20、中間処理装置30、検索装置40、インターネット50、ゲートウェイ装置60及びサーバ装置70を備えている。
閲覧装置20は、例えば携帯電話機であり、CPU(Central Processing Unit)などの演算装置とROM(Read Only Memory)及びRAM(Random Access Memory)などの記憶装置からなる制御部と、EEPROM(Electronically Erasable and Programmable ROM)やSRAM(Static Random Access Memory)などの記憶部と、アンテナや無線通信回路からなる無線通信部と、スピーカ、マイクロホン及び音声処理回路からなる音声入出力部と、複数のキーやタッチスクリーンなどの操作子を備えた操作部と、液晶パネルや液晶駆動回路からなる表示部とを備えている。記憶部には、OS(Operating System)やアプリケーションプログラムが記憶されており、制御部がこれらのプログラムを実行することによって閲覧装置20の動作を制御する。また、制御部は、操作部が受け付けたユーザの操作に応じて通信部を制御することにより、移動通信網10経由で中間処理装置30との間で通信を行う。また、記憶部には、表示部にブラウザを表示するためのプログラムが記憶されており、ユーザがブラウザの起動を閲覧装置20に命じると、ブラウザが表示される。このブラウザを介して、インターネット上のウェブサイトへのアクセスが行われる。
【0017】
移動通信網10は、閲覧装置20に通信サービスを提供する通信網である。この移動通信網10は、自局の無線セル内に存在する閲覧装置20との間で無線通信を行う基地局、移動通信網10内で伝送されるデータのルーティングを行う交換局、及び閲覧装置20の位置登録などを行う制御局といった各種ノードと、これらのノード間を相互に接続する通信線とを備えている。
【0018】
図2は、中間処理装置30のハードウェア構成を示す図である。中間処理装置30は、コンピュータであり、CPUなどの演算装置とROM及びRAMなどの記憶装置からなる制御部31と、ハードディスク装置などの記憶部32と、通信部33とを備え、制御部31が記憶部32に記憶されたプログラムを実行することによって各装置の動作を制御する。
検索装置40、ゲートウェイ装置60及びサーバ装置70は、いずれもコンピュータであり、CPUなどの演算装置とROM及びRAMなどの記憶装置からなる制御部と、ハードディスク装置などの記憶部と、通信部とを備え、制御部が記憶部に記憶されたプログラムを実行することによって中間処理装置30の動作を制御する。
中間処理装置30の通信部33はゲートウェイ装置60の通信部に接続されており、中間処理装置30は、移動通信網10経由で閲覧装置20との間で通信を行い、インターネット50経由で検索装置40との間で通信を行う。また、検索装置40は、インターネット50経由でサーバ装置70との間で通信を行う。
【0019】
サーバ装置70は、マイクロブログのサービスを提供するサーバであり、ユーザがこのサービスの利用者としてサーバ装置70に登録すると、このユーザに対してマイクロブログへの投稿が許可される。サーバ装置70の記憶部には、投稿されたテキストを蓄積するデータベースが格納されている。ユーザが閲覧装置20を用いてサーバ装置70へテキストを投稿すると、当該テキストをデータベースに書き込むとともに、当該テキストを含むHTMLデータを閲覧装置20に返信する。その結果、閲覧装置20の表示部に当該テキストが表示される。また、当該ユーザが他のユーザを登録した場合に、当該他のユーザの投稿したテキストも閲覧装置20に送信され、表示部に表示される。サーバ装置70は、投稿されたテキストに対して、投稿の順番を表すメタ情報を割り当て、当該テキストと対応付けてデータベースに書き込む。つまり、新しいテキストほど大きな値のメタ情報が割り当てられる。表示の対象となるテキストが複数である場合には、これらのテキストを投稿時刻の降順、つまりメタ情報の降順に並べ替えて閲覧装置20に送信する。
【0020】
テキストの検索を実行する場合、ユーザは、閲覧装置20のブラウザを起動し、ブラウザにキーワードを入力して検索の実行を指示する。すると、ブラウザは、HTTPのGETメソッドにより検索要求を生成し、中間処理装置30に送信する。ユーザがページング機能によりページを指定して検索を指示した場合、検索要求には、検索範囲を示す情報が前述のメタ情報を用いて記述される。
中間処理装置30は、検索範囲を指定した検索要求を閲覧装置20から受信すると、検索要求に記述された検索範囲を予め定められた規則に従って縮小し、検索範囲の縮小された検索要求を検索装置40に送信する。
検索装置40は、検索エンジンを備え、中間処理装置30から検索要求を受信すると、サーバ装置70に蓄積されたテキストから検索要求に対応するテキストを抽出し、抽出されたテキストを含んだHTMLデータを生成して中間処理装置30に送信する。
中間処理装置30は、検索装置40から受信したHTMLデータにページング機能を実現するためのハイパーリンクを書き込んで閲覧装置20に送信する。
【0021】
図6は、中間処理装置30の機能ブロックを示す図である。
受信手段301は、閲覧装置20から検索要求を受信する。この検索要求は、テキストと当該テキストに対応付けられた固有の数値を意味するメタ情報とを対応付けて記憶したデータベースから前記メタ情報によって検索範囲が定められた検索要求に対応するテキストを抽出して外部に送信する検索装置40に対する検索要求であって、検索装置40から最後に受信したテキストに対応する最大又は最小のメタ情報と当該メタ情報を起点とする検索の方向を示す識別情報とキーワードとを含む検索要求である。
設定手段302は、受信手段301によって受信した検索要求に含まれるメタ情報と識別情報とに基づいて検索範囲の上限及び下限を設定する。
送信手段303は、設定手段302によって設定された検索範囲を含むように当該検索要求を書き換えて検索装置40に送信する。
また、設定手段302は、メタ情報が小さくなる方向に検索する場合には、前記検索要求に含まれるメタ情報から定数を減じた値を検索範囲の下限に設定し、メタ情報が大きくなる方向に検索する場合には、前記検索要求に含まれるメタ情報に定数を加えた値を検索範囲の上限に設定する。
また、設定手段302は、前記検索要求で指定された数のテキストが抽出されなかった場合に、前記検索範囲の下限の引き下げ、又は、前記検索範囲の上限の引き上げを行う。
【0022】
(2)実施形態の動作
マイクロブログ上でテキストの検索を実行する場合、最初に、ユーザは、閲覧装置20のブラウザを起動し、検索装置40に備えられた検索エンジンにアクセスする。すると、検索エンジンのホームページを表すHTMLデータが検索装置40から送信され、当該ホームページが閲覧装置20の表示部に表示される。ホームページ上にはキーワードの入力欄が表示され、ユーザが入力欄にキーワードを入力し、検索の実行を指示すると、閲覧装置20の制御部は、取得するページのURLを次のように決定する。
http://dcm.com/search.php?q=aaa&count=10
ここで、http://dcm.com/search.phpは、検索エンジンのURLであり、引数のqはキーワードであり、countは1ページ当たりの投稿数である。countの値は、予め10が設定されている。
そして、閲覧装置20の制御部は、HTTPのGETメソッドにより、上記のURLに対応する検索要求を生成し、この検索要求を検索装置40に送信する。
【0023】
検索装置40の制御部は、閲覧装置20から受信した検索要求に従って検索を行う。具体的には、サーバ装置70のデータベースからキーワード「aaa」を含むテキストを抽出し、抽出されたテキストをメタ情報の降順に並べ替え、1ページ目、すなわち上位1件目から10件目までのテキストを含むHTMLデータを生成し、このHTMLデータを中間処理装置30へ送信する。
中間処理装置30の送信手段303は、次のページをリンク先とするハイパーリンクをこのHTMLデータに書き込んで閲覧装置20に送信する。
【0024】
図3(a)は、このHTMLデータに基づいて閲覧装置20の表示部に表示されるページを示す図である。IDはメタ情報であり、画面の上から下に向かってメタ情報の降順に各メタ情報に対応するテキストが表示される。この例では、最上位のメタ情報は「9999」であり、最下位のメタ情報は「9899」である。画面の右下隅の「次へ」なるボタンに対応付けて、次のページへのハイパーリンクが埋め込まれている。リンク先のURLは次のとおりである。
http://dcm.com/search.php?max_id=9899&q=aaa&count=10
ここで、max_idの値は、表示中のテキストに対応する最下位のメタ情報、言い換えれば、表示中のテキストのうち最も投稿時刻の早い(最も古い)テキストに対応するメタ情報である。また、max_idなる文字列は、当該メタ情報を起点とする検索の方向を示す識別情報であり、当該メタ情報よりも小さいメタ情報に対応するテキストを検索対象とすることを意味する。
「次へ」なるボタンがクリックされた場合、閲覧装置20の制御部は、上記のURLに対応する検索要求を生成し、生成した検索要求を中間処理装置30に送信する。
【0025】
図4は、この検索要求を受信した場合に中間処理装置30の設定手段302が実行する処理を示す流れ図である。設定手段302は、検索要求にmax_idが含まれている場合に、以下の処理を実行する。
ステップS101では、設定手段302が、カウンタ値iを1に設定する。
ステップS102では、設定手段302が、閲覧装置20から受信した検索要求に含まれる検索範囲を縮小する。具体的には、検索範囲をmax_id-i×C以上max_id未満に設定する。Cは定数であり、この例ではC=1000である。この場合、取得するページのURLは、次のようになる。
http://dcm.com/search.php?8899<=id<9899&q=aaa&count=10&sort=id+desc
ここで、sort=id+descは、抽出されたテキストをidの降順に並べ替えるという意味の引数である。送信手段303は、このURLに対応する検索要求を生成して検索装置40に送信する。
【0026】
検索装置40の制御部は、中間処理装置30から検索要求を受信し、検索要求に従って検索を実行する。すなわち、制御部は、8899以上9899未満のメタ情報を検索範囲として、キーワード「aaa」を含むテキストを抽出し、抽出されたテキストをメタ情報の降順に並べ替えて上位1件目から10件目までのテキストを含むHTMLデータを生成し、このHTMLデータを中間処理装置30に送信する。
ステップS103では、設定手段302が、ステップS102で抽出されたテキストの数が検索要求を満たすか否かを判定する。具体的には、抽出されたテキストの数とcountの値とを比較し、テキストの数がcountの値に達したならば(ステップS103:YES)、検索を終了し、テキストの数がcountの値に達しないならば(ステップS103:NO)、ステップS104に進む。
【0027】
ステップS104では、設定手段302が、カウンタ値iに1を加算し、ステップS102に戻る。つまり、抽出されたテキストの数がcountの値に達しない場合、検索範囲の下限をCだけ引き下げる。そして、再度、検索装置40に検索を実行させてステップS103の判定を行い、抽出されたテキストの数がcountの値に達するまで、この処理を繰り返す。ただし、キーワードを含むテキストが非常に少ない場合にこの処理の繰り返しの回数が膨大になることを防ぐために、繰り返しの回数に制限を設ける。具体的には、ステップS103においてカウンタ値iが閾値Lを超えた場合には、処理を終了する。
以上の処理が完了したならば、送信手段303は、検索装置40から受信したHTMLデータにハイパーリンクを書き込んで閲覧装置20に送信する。このハイパーリンクは、このHTMLデータで表示されるページの前のページ又は次のページをリンク先とするハイパーリンクである。
【0028】
図3(b)は、ハイパーリンクの埋め込まれたページを表示した例を示す図である。この例では、最上位のメタ情報は「9889」であり、最下位のメタ情報は「9789」である。画面の右下隅の「次へ」なるボタンに対応付けて、表示中のページの次のページへのハイパーリンクが埋め込まれている。リンク先のURLは次のとおりである。
http://dcm.com/search.php?max_id=9789&q=aaa&count=10
一方、画面の左下隅の「前へ」なるボタンに対応付けて、表示中のページの前のページへのハイパーリンクが埋め込まれている。リンク先のURLは次のとおりである。
http://dcm.com/search.php?since_id=9889&q=aaa&count=10
ここで、since_idの値は、表示中のテキストに対応する最上位のメタ情報、言い換えれば、表示中のテキストのうち最も投稿時刻の遅い(最も新しい)テキストに対応するメタ情報である。また、since_idなる文字列は、当該メタ情報を起点とする検索の方向を示す識別情報であり、当該メタ情報よりも大きいメタ情報に対応するテキストを検索対象とすることを意味する。
【0029】
図3(c)は、検索結果のnページ目を表示した例を示す図である。この例では、最上位のメタ情報は「5999」であり、最下位のメタ情報は「5899」である。画面の右下隅の「次へ」なるボタンに対応付けて、表示中のページの次のページへのハイパーリンクが埋め込まれている。リンク先のURLは次のとおりである。
http://dcm.com/search.php?max_id=5899&q=aaa&count=10
一方、画面の左下隅の「前へ」なるボタンに対応付けて、表示中のページの前のページへのハイパーリンクが埋め込まれている。リンク先のURLは次のとおりである。
http://dcm.com/search.php?since_id=5999&q=aaa&count=10
【0030】
図5は、「前へ」なるボタンがクリックされた場合に中間処理装置30の設定手段302が実行する処理を示す流れ図である。設定手段302は、検索要求にsince_idが含まれている場合に、以下の処理を実行する。
ステップS201では、設定手段302が、カウンタ値iを1に設定する。
ステップS202では、設定手段302が、閲覧装置20から受信した検索要求に含まれる検索範囲を縮小する。具体的には、検索範囲をsince_idより大きくsince_id+i×C以下に設定する。Cは定数であり、この例ではC=1000である。取得するページのURLは、次のようになる。
http://dcm.com/search.php?5999<id<=6999&q=aaa&count=10&sort=id+asc
ここで、sort=id+ascは、抽出されたテキストをidの昇順に並べ替えるという意味の引数である。なお、検索結果のページにてテキストを降順に表示する必要がある場合には、降順に並べ替えてもよい。送信手段303は、このURLに対応する検索要求を生成して検索装置40に送信する。
【0031】
検索装置40の制御部は、中間処理装置30から検索要求を受信し、検索要求に従って検索を実行する。すなわち、制御部は、5999より大きく6999以下のメタ情報に対応するテキストを検索範囲として、キーワード「aaa」を含むテキストを抽出し、抽出されたテキストをメタ情報の昇順に並べ替えて上位1件目から10件目までのテキストを含むHTMLデータを生成し、このHTMLデータを中間処理装置30に送信する。
ステップS203では、設定手段302が、ステップS202で抽出されたテキストの数が検索要求を満たすか否かを判定する。具体的には、抽出されたテキストの数とcountの値とを比較し、テキストの数がcountの値に達したならば(ステップS203:YES)、検索を終了し、テキストの数がcountの値に達しないならば(ステップS203:NO)、ステップS204に進む。
【0032】
ステップS204では、設定手段302が、カウンタ値iに1を加算し、ステップS202に戻る。つまり、抽出されたテキストの数がcountの値に達しない場合、検索範囲の上限をCだけ引き上げる。そして、再度、検索装置40に検索を実行させてステップS203の判定を行い、抽出されたテキストの数がcountの値に達するまで、この処理を繰り返す。ただし、キーワードを含むテキストが非常に少ない場合にこの処理の繰り返しが膨大な回数になることを防ぐために、繰り返しの回数に制限を設ける。具体的には、ステップS203においてカウンタ値iが閾値Lを超えた場合には、処理を終了する。
以上の処理が完了したならば、送信手段303は、検索装置40から受信したHTMLデータに前のページをリンク先とするハイパーリンクと次のページをリンク先とするハイパーリンクを書き込んで閲覧装置20に送信する。
【0033】
図3(d)は、検索結果のn−1ページ目を表示した例を示す図である。この例では、最上位のメタ情報は「6199」であり、最下位のメタ情報は「6099」である。画面の右下隅の「次へ」なるボタンに対応付けて、表示中のページの次のページへのハイパーリンクが埋め込まれている。リンク先のURLは次のとおりである。
http://dcm.com/search.php?max_id=6099&q=aaa&count=10
一方、画面の左下隅の「前へ」なるボタンに対応付けて、表示中のページの前のページへのハイパーリンクが埋め込まれている。リンク先のURLは次のとおりである。
http://dcm.com/search.php?since_id=6199&q=aaa&count=10
以上が実施形態の動作である。
【0034】
本実施形態によれば、閲覧装置20から送信された検索要求は、表示中のテキストに対応する最大又は最小のメタ情報と、当該メタ情報を起点とする検索の方向を示す識別情報とを含むが、この検索要求を受信した中間処理装置30が、検索要求に含まれるメタ情報と識別情報とに基づいて検索範囲の上限及び下限を設定するように構成されているから、閲覧装置20と検索装置40との間に中間処理装置30を介在させない場合と比べて、検索に要する時間を短縮することができる。
また、検索要求で指定された数のテキストが抽出されなかった場合に、指定された数のテキストが抽出されるまで徐々に検索範囲を広げるように構成されているから、指定された数を超える数のテキストを抽出する無駄を省くことができる。
また、検索範囲を広げる処理の回数を制限するように構成されているから、検索に要する時間が長くなり過ぎることを防ぐことができる。
【0035】
(3)変形例
実施形態を以下の変形例のように変形してもよい。また、複数の変形例を組み合わせてもよい。
(3.1)変形例1
実施形態では、検索要求で指定された数のテキストが抽出されなかった場合に、指定された数のテキストが抽出されるまで徐々に検索範囲を広げる例を示したが、この処理を次のように変形してもよい。
図7は、中間処理装置30の設定手段302が実行する処理を示す流れ図である。ここでは、1ページ目を表示中に「次へ」なるボタンがクリックされた場合について説明する。
ステップS301では、設定手段302が、カウンタ値iを1に設定する。
ステップS302では、設定手段302が、閲覧装置20から受信した検索要求に含まれる検索範囲を縮小する。具体的には、検索範囲をmax_id-i×C以上max_id-(i-1)×C未満に設定する。Cは定数であり、この例ではC=1000である。この場合、取得するページのURLは、次のようになる。
http://dcm.com/search.php?8899<=id<9899&q=aaa&count=10&sort=id+desc
送信手段303は、このURLに対応する検索要求を生成して検索装置40に送信する。
【0036】
検索装置40の制御部は、中間処理装置30から検索要求を受信し、検索要求に従って検索を実行する。すなわち、制御部は、8899以上9899未満のメタ情報に対応するテキストを検索範囲として、キーワード「aaa」を含むテキストを抽出し、抽出されたテキストをメタ情報の降順に並べ替えて上位1件目から10件目までのテキストを含むHTMLデータを生成し、このHTMLデータを中間処理装置30に送信する。
ステップS303では、設定手段302が、検索装置40から受信したHTMLデータに含まれるテキストを記憶部32に記憶させる。
ステップS304では、設定手段302が、ステップS302で抽出されたテキストの数が検索要求を満たすか否かを判定する。具体的には、抽出されたテキストの数とcountの値とを比較し、テキストの数がcountの値に達したならば(ステップS304:YES)、検索を終了し、テキストの数がcountの値に達しないならば(ステップS304:NO)、ステップS305に進む。
【0037】
ステップS305では、設定手段302が、カウンタ値iに1を加算し、ステップS302に戻る。つまり、抽出されたテキストの数がcountの値に達しない場合、検索範囲の下限をCだけ引き下げるとともに、上限もCだけ引き下げる。従って、ステップS302で抽出されたテキストは、検索範囲から除外される。そして、再度、検索装置40に検索を実行させてステップS303の判定を行い、抽出されたテキストの数がcountの値に達するまで、この処理を繰り返す。
以上の処理が完了したならば、送信手段303は、記憶部32に記憶されたテキストのすべてを含むHTMLデータを生成し、前のページ又は次のページをリンク先とするハイパーリンクを書き込んで閲覧装置20に送信する。
なお、「前へ」なるボタンがクリックされた場合には、ステップS302において、設定手段302が、検索範囲をmax_id+(i-1)×Cより大きくmax_id+i×C以下に設定する。
この構成によれば、既に抽出されたテキストを検索範囲から除外するので、処理を高速化することができる。
【0038】
(3.2)変形例2
実施形態及び変形例1では、Cの値を固定値とする例を示したが、以下のようにしてCの値を変化させてもよい。
或る検索範囲の中で或るキーワードを含むテキストがいくつ抽出されるかは、キーワードによって異なる。例えば、検索範囲のテキスト数を1000件とし、キーワードAで検索すると100件のテキストが抽出され、キーワードBで検索すると200件のテキストが抽出されるという具合である。
本変形例では、検索装置40が備える検索エンジンが、検索結果に付随する情報として検索ヒット数(抽出されたテキストの数)を出力するように構成されていることを前提とする。表1は、検索ヒット数とCとを対応付けたテーブルである。このテーブルは、検索ヒット数が多いほど、対応するCが小さくなるように設定されている。中間処理装置30の記憶部32にこのテーブルを記憶させておき、検索装置40から、抽出されたテキストの数を受信し、この数に対応するCをテーブルによって特定し、制御部31が検索範囲を縮小する際には、特定されたCを用いる。
【表1】

この構成によれば、抽出されるテキストの多いキーワードほど検索範囲を狭くするので、処理を高速化することができる。
【0039】
(3.3)変形例3
実施形態では、検索対象がマイクロブログである例を示したが、検索対象は、ウェブサーバ上で公開されるいかなるテキストでもよい。例えば、HTML等のマークアップ言語で記述されたウェブページでもよいし、PDF(Portable Document Format)形式のファイルでもよい。
実施形態では、メタ情報がマイクロブログへの投稿の順番を表す数値である例を示したが、メタ情報はいかなる数値でもよい。例えば、検索対象がウェブページの場合、メタ情報は、各ウェブページへのアクセス回数の順位であってもよい。あるいは、メタ情報は、各ウェブページが更新された時刻が新しい順に割り当てられていてもよい。また、メタ情報は、順位ではなく、アクセス回数自体でもよいし、時刻自体でもよい。
また、特定のオンラインショッピングのウェブサイト内を検索対象とする場合、メタ情報は、各商品に対応付けられた説明文へのアクセス回数の順位や、各商品の販売数の順位でもよい。
また、メタ情報は、アルファベットや日本語の五十音のように、並べる順番の決まっている記号でもよい。この場合、決まっている順番に従って、制御部31が記号を数値に置き換えればよい。
要するに、メタ情報は、テキストを並べる順番を決定できる情報であれば、いかなる情報でもよい。言い換えれば、メタ情報は、テキストに対応付けられた固有の数値を意味する情報である。
【0040】
(3.4)変形例4
実施形態では次のページ又は前のページをリンク先とするハイパーリンクを各ページに埋め込む例を示したが、次のページ又は前のページに対応するURLをユーザがブラウザのアドレス欄に打ち込むようにしてもよい。
サーバ装置70と検索装置40を一体の装置として構成してもよい。すなわち、サーバ装置70が検索エンジンを備え、中間処理装置30がサーバ装置70に検索要求を送信するようにしてもよい。
中間処理装置30の機能を閲覧装置20に備えるように構成してもよい。すなわち、中間処理装置30の上記の機能を実現させるためのブログラムを閲覧装置20の制御部に実行させるようにしてもよい。
実施形態では中間処理装置30をゲートウェイ装置60に接続した例を示したが、中間処理装置30をゲートウェイ装置60を介さずにインターネット50に接続してもよい。
【0041】
実施形態では閲覧装置20が携帯電話機である例を示したが、閲覧装置20はコンピュータであってもよい。この場合、閲覧装置20を移動通信網10を経由せずにインターネット50に接続してもよいし、閲覧装置20を携帯電話機を介して移動通信網に接続してもよい。
実施形態では中間処理装置30の制御部31がプログラムを実行することによって中間処理装置30の動作を制御する例を示したが、実施形態と同様の機能をハードウェアで実装するようにしてもよい。また、このプログラムを、光記録媒体、半導体メモリ等、コンピュータで読み取り可能な記録媒体に記録して提供し、この記録媒体からプログラムを読み取って中間処理装置30の記憶部32に記憶させるようにしてもよい。また、このプログラムを電気通信回線経由で提供してもよい。
【符号の説明】
【0042】
1…検索システム、10…移動通信網、20…閲覧装置、30…中間処理装置、40…検索装置、50…インターネット、60…ゲートウェイ装置、70…サーバ装置、31…制御部、32…記憶部、33…通信部、301…受信手段、302…設定手段、303…送信手段

【特許請求の範囲】
【請求項1】
テキストと当該テキストに対応付けられた固有の数値を意味するメタ情報とを対応付けて記憶したデータベースから前記メタ情報によって検索範囲が定められた検索要求に対応するテキストを抽出して外部に送信する検索装置に対する検索要求であって、前記検索装置から最後に受信したテキストに対応する最大又は最小のメタ情報と当該メタ情報を起点とする検索の方向を示す識別情報とキーワードとを含む検索要求を受信する受信手段と、
前記受信手段によって受信した検索要求に含まれるメタ情報と識別情報とに基づいて検索範囲の上限及び下限を設定する設定手段と、
前記設定手段によって設定された検索範囲を含むように当該検索要求を書き換えて前記検索装置に送信する送信手段と
を有することを特徴とする中間処理装置。
【請求項2】
前記設定手段は、メタ情報が小さくなる方向に検索する場合には、前記検索要求に含まれるメタ情報から定数を減じた値を検索範囲の下限に設定し、メタ情報が大きくなる方向に検索する場合には、前記検索要求に含まれるメタ情報に定数を加えた値を検索範囲の上限に設定する
ことを特徴とする請求項1に記載の中間処理装置。
【請求項3】
検索で抽出されるテキスト数と前記定数とを対応付けて記憶する記憶手段と、
検索で抽出されたテキスト数を前記検索装置から受信するテキスト数受信手段と
を有し、
前記設定手段は、前記テキスト数受信手段で受信したテキスト数に対応する定数を前記記憶手段から読み出す
ことを特徴とする請求項2に記載の中間処理装置。
【請求項4】
前記受信手段は、抽出するテキストの数の指定を含む前記検索要求を受信し、
前記設定手段は、前記検索要求で指定された数のテキストが抽出されなかった場合に、前記検索範囲の下限の引き下げ、又は、前記検索範囲の上限の引き上げを行う
ことを特徴とする請求項1又は2に記載の中間処理装置。
【請求項5】
前記設定手段は、前記検索範囲の下限を引き下げる場合に当該検索範囲の上限を引き下げ、前記検索範囲の上限を引き上げる場合に当該検索範囲の下限を引き上げる
ことを特徴とする請求項4に記載の中間処理装置。
【請求項6】
通信部が、テキストと当該テキストに対応付けられた固有の数値を意味するメタ情報とを対応付けて記憶したデータベースから前記メタ情報によって検索範囲が定められた検索要求に対応するテキストを抽出して外部に送信する検索装置に対する検索要求であって、前記検索装置から最後に受信したテキストに対応する最大又は最小のメタ情報と当該メタ情報を起点とする検索の方向を示す識別情報とキーワードとを含む検索要求を受信する受信ステップと、
制御部が、前記受信ステップにおいて受信した検索要求に含まれるメタ情報と識別情報とに基づいて検索範囲の上限及び下限を設定する設定ステップと、
前記通信部が、前記設定ステップにおいて設定された検索範囲を含むように当該検索要求を書き換えて前記検索装置に送信する送信ステップと
を有することを特徴とする中間処理方法。
【請求項7】
テキストと当該テキストに対応付けられた固有の数値を意味するメタ情報とを対応付けて記憶したデータベースから前記メタ情報によって検索範囲が定められた検索要求に対応するテキストを抽出して外部に送信する検索装置と、
前記検索装置から最後に受信したテキストに対応する最大又は最小のメタ情報と当該メタ情報を起点とする検索の方向を示す識別情報とキーワードとを含む検索要求を外部に送信し、前記検索装置が抽出したテキストを受信して表示する閲覧装置と、
前記閲覧装置から前記検索要求を受信し、当該検索要求に含まれるメタ情報と識別情報とに基づいて検索範囲の上限及び下限を設定し、当該検索範囲を含むように当該検索要求を書き換えて前記検索装置に送信する中間処理装置と
を有することを特徴とする検索システム。
【請求項8】
コンピュータを、
テキストと当該テキストに対応付けられた固有の数値を意味するメタ情報とを対応付けて記憶したデータベースから前記メタ情報によって検索範囲が定められた検索要求に対応するテキストを抽出して外部に送信する検索装置に対する検索要求であって、前記検索装置から最後に受信したテキストに対応する最大又は最小のメタ情報と当該メタ情報を起点とする検索の方向を示す識別情報とキーワードとを含む検索要求を受信する受信手段と、
前記受信手段によって受信した検索要求に含まれるメタ情報と識別情報とに基づいて検索範囲の上限及び下限を設定する設定手段と、
前記設定手段によって設定された検索範囲を含むように当該検索要求を書き換えて前記検索装置に送信する送信手段
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−84203(P2013−84203A)
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2011−224928(P2011−224928)
【出願日】平成23年10月12日(2011.10.12)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)