JP6152226B2 - キャッシュクエリ要求の生成 - Google Patents

キャッシュクエリ要求の生成 Download PDF

Info

Publication number
JP6152226B2
JP6152226B2 JP2016536338A JP2016536338A JP6152226B2 JP 6152226 B2 JP6152226 B2 JP 6152226B2 JP 2016536338 A JP2016536338 A JP 2016536338A JP 2016536338 A JP2016536338 A JP 2016536338A JP 6152226 B2 JP6152226 B2 JP 6152226B2
Authority
JP
Japan
Prior art keywords
cache
request
display type
query
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.)
Active
Application number
JP2016536338A
Other languages
English (en)
Other versions
JP2016531367A (ja
Inventor
ジュヨン・ナン
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2016531367A publication Critical patent/JP2016531367A/ja
Application granted granted Critical
Publication of JP6152226B2 publication Critical patent/JP6152226B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files

Landscapes

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

Description

他の出願の相互参照
本願は、すべての目的のために参照により本明細書に組み込まれる、2013年8月21日出願の発明の名称を「A SEARCH METHOD AND DEVICE(検索方法および検索装置)」とする中国特許出願第201310367225.6号に基づく優先権を主張する。
本願は、データキャッシングの分野に関し、特に、検索データをキャッシュするための技術に関する。
インターネット技術の発展とともに、情報をオンラインで検索することがユーザにとってごく日常的な出来事になってきた。一般には、ウェブサイトサービスシステムが、ユーザから検索クエリを受信し、これらの検索クエリに対応する検索結果をユーザに送り返す。検索結果の量はしばしば大量であり、1ウェブページまたは1インターフェース内に完全には表示できないので、ユーザがすべての検索結果を閲覧することを可能にする様々な検索結果表示方法がある。
検索結果ページ(SRP)上に検索結果を表示する2つのタイプ例は、以下の通りである。1)ページごと表示、および、2)カスケード表示。ページごとの検索結果表示アプローチでは、ユーザは、1ページに表示できる検索結果を閲覧し、「次のページ」ボタンを選択することで、検索結果をリトリーブして次のページの検索結果を投入することができる。カスケードの検索結果表示アプローチでは、ユーザがウェブページの各新しい領域にスクロールダウンした時に、検索結果が動的にリトリーブされ表示される。返すべき検索結果がなくなるか、または、ユーザが検索結果ページから離れるまで、ユーザが検索結果ページの新しい領域にスクロールダウンするたびに、検索結果の新しいセットがリトリーブされ表示される。
従来、非モバイルデバイスの文脈で提示されるウェブサイトは、一般に、ページごとのアプローチを用いて検索結果を表示する。しかし、モバイルデバイスの文脈で提示されるウェブサイトは、一般に、カスケードのアプローチを用いて検索結果を表示する。
図1は、ユーザ検索要求を扱うためのウェブサイトサービスシステムの従来のシステムアーキテクチャの一実施形態を示す図である。
システム100のウェブサイトサービスシステム108は、ネットワーク106を介して非モバイルデバイス102およびモバイルデバイス104から受信した検索要求を処理するよう構成されている。例えば、ウェブサイトサービスシステム108は、同じウェブサイトを運営するが、デバイスに関連付けられている表示タイプ(例えば、ページごとまたはカスケード)に基づいてデータをデバイスに送信するよう構成されている。例えば、非モバイルデバイス102からの検索要求に応答して、ウェブサイトサービスシステム108は、ページごと表示タイプで表示できる検索結果データを返すよう構成されている。しかし、モバイルデバイス104からの検索要求に応答して、ウェブサイトサービスシステム108は、カスケード表示タイプで表示できる検索結果データを返すよう構成されている。ユーザ要求に関連付けられている表示タイプ(例えば、ページごとまたはカスケード)を識別する情報が、ユーザ要求に含まれてよい。
ユーザが非モバイルデバイス102を通して検索を実行すると、(例えば、HTTP)要求が、ウェブサイトサービスシステム108のウェブサーバ110に送信される。ウェブサーバ110は、ユーザ要求を受信し、ユーザ要求に基づいて、ページごと表示タイプに関連付けられている検索要求を生成する。検索要求は、ユーザクエリキーワード、返されるよう要求された検索結果の開始位置、および、返されるよう要求された検索結果の量を含む。次いで、ウェブサーバ110は、検索要求を用いて、検索要求に対応する検索結果がキャッシュに格納されているか否か、すなわち、キャッシュヒットがあるか否かについて、キャッシュサーバ130にクエリする。キャッシュヒットがあった場合、ウェブサーバ110は、キャッシュサーバ130から検索結果を直接取得し、非モバイルデバイス102に送り返す。キャッシュヒットがなかった場合、ウェブサーバ110は、生成された検索要求に基づいて検索を実行して対応する検索結果を取得するよう検索エンジン140に要求する。次いで、ウェブサーバ110は、検索エンジン140によって取得された検索結果を非モバイルデバイス102に送り返す。検索エンジン140は、後の検索要求のために検索結果をキャッシュサーバ130に格納することもできる。
ユーザがモバイルデバイス104(例えば、モバイルデバイスにインストールされたアプリケーション)を通して検索を実行すると、(例えば、HTTP)要求が、ウェブサイトサービスシステム108のモバイルインターネットサーバ120に送信される。モバイルインターネットサーバ120は、ユーザ要求を受信し、ユーザ要求に基づいて、カスケード表示タイプに関連付けられている検索要求を生成する。検索要求は、さらに、ユーザクエリキーワード、要求検索結果開始位置、および、要求検索結果量を含む。次いで、モバイルインターネットサーバ120は、検索結果を用いて、キャッシュが検索要求に対応する検索結果を含むか否か、すなわち、キャッシュヒットがあるか否かについて、キャッシュサーバ130にクエリする。キャッシュヒットがあった場合、モバイルインターネットサーバ120は、キャッシュサーバ130から検索結果を直接取得し、モバイルデバイス104に送り返す。キャッシュヒットがなかった場合、モバイルインターネットサーバ120は、生成された検索要求に基づいて検索を実行して対応する検索結果を取得するよう検索エンジン140に要求する。次いで、モバイルインターネットウェブサーバ120は、検索エンジン140によって取得された検索結果をモバイルデバイス104に送り返す。検索エンジン140は、後の検索要求のために検索結果をキャッシュサーバ130に格納することもできる。
例えば、ユーザが、モバイルデバイスまたは非モバイルデバイスのいずれかで、「apple iPhone4」というキーワードを用いて電子商取引ウェブサイトで検索し、合計18の商品が一致したと仮定する。
ページごと表示タイプでは、例えば、検索結果1ページに、最大10の商品を表示できる。
検索結果の1ページ目は、「apple iPhone4」に一致する最初の10の検索結果を表示する。対応する検索要求に含まれるキーワードは、「apple iPhone4」である。検索要求の開始位置パラメータは「0」であり、検索結果表示量(例えば、検索結果ページに表示できる商品の最大数)は「10」である。したがって、検索エンジンによって構築された検索要求は、「q=apple iphone4&s=0&n=10」と表現されることができ、ここで、qは、ユーザ要求のキーワードを含み、sは、返すよう要求された検索結果の開始位置を含み、nは、返すよう要求された検索結果の量である。
検索エンジンによって送り返される結果は、(例えば、順位付けモデルによって順位付けされた検索結果の)上位10までの検索結果である。
検索結果の2ページ目は、検索結果11〜20を表示し、対応する検索要求は「q=apple iphone4&s=10&n=10」と表現されうる。送り返される結果は、キーワード「apple iPhone4」に対する検索結果の合計が18であるので、(例えば、順位付けモデルによって順位付けされた検索結果の)残り8の検索結果でありうる。
カスケード表示タイプでは、例えば、5商品が最初に表示され、その後、検索結果ページにさらなる検索結果をロードするごとに、3つの商品がロードされる。
最初にロードされる5商品について、対応する検索要求は、「q=apple iphone4&s=0&n=5」と表現されうる。送り返される結果は、(例えば、順位付けモデルによって順位付けされた検索結果の)上位5までの検索結果である。
2回目のロードは、3商品を含み、対応する検索要求は「q=apple iphone4&s=5&n=3」と表現されうる。送り返される結果は、(例えば、順位付けモデルによって順位付けされた検索結果の)検索結果6〜8である。
3回目のロードは、3商品を含み、対応する検索要求は「q=apple iphone4&s=8&n=3」と表現されうる。送り返される結果は、(例えば、順位付けモデルによって順位付けされた検索結果の)検索結果9〜11である。
開始位置パラメータおよび要求検索結果量パラメータが、異なる表示タイプに関連付けられているユーザ要求に対して異なる場合、検索エンジンによって生成される検索要求も異なる。ユーザが同じクエリ語を入力した場合でも、異なる表示タイプ(例えば、ページごとおよびカスケード)に関連付けられているユーザ要求を用いて、異なる検索要求が生成される。
一般に、キャッシュサーバがキャッシュされた検索結果のためのインデックスを格納する方法は、キー・値ペアを用いる方法である。キャッシュサーバが検索結果を格納する時、検索結果は、インデックス内のキーとして用いられる。キーに対応する値は、キーの検索要求に対応する検索結果である。すなわち、検索要求および検索結果は、キャッシュサーバ内で一対一のキー・値の対応関係を有する。異なる表示タイプ(ページごとおよびカスケードなど)に関して、異なる表示タイプに関連付けられているユーザ要求から生成された検索要求は異なるので、異なる検索要求の結果として得られる検索結果も異なる。その結果として、異なるユーザ要求に関連付けられている検索結果が重複している場合でも、ページごと表示を用いるデバイスからのユーザ要求に基づいてキャッシュに格納されているキー・値ペア、および、カスケード表示を用いるデバイスからのユーザ要求に基づいてキャッシュに格納されているキー・値ペアは異なる。かかる差異により、従来、異なる表示タイプを用いるデバイスは、キャッシュに格納されている検索結果を共有できない。したがって、検索結果表示タイプの差異は、これらの異なる表示技術に対して返された検索結果をキャッシュするキャッシュサーバでのキャッシュヒットの可能性を低下させることになる。
例えば、最初の期間に「apple iPhone4」というクエリ語を含むユーザ要求を送信したユーザのためにリトリーブされた検索結果を表示するために、ページごと表示タイプが用いられ、後の期間に「apple iPhone4」という同じクエリ語を含むユーザ要求を送信した同じユーザまたは別のユーザのためにリトリーブされた検索結果を表示するために、カスケード表示技術が用いられたとする。ページごと表示技術を用いたデバイスは、最初のページ検索結果を最初に表示する動作を実行し、その後、2ページ目の検索結果を閲覧するためのユーザ選択を受信する。カスケード表示技術を用いたデバイスは、最初のセットの検索結果をロードし、その後、検索結果のページをさらにスクロールダウンするユーザの動作に応答して、さらなるロードのための2つの次の要求を受信する。ページごと表示タイプおよびカスケード表示タイプにおいて上述したように、表示された検索結果とのユーザ相互作用の結果として、キャッシュサーバは、以下の表1に示すようにコンテンツを保存しうる。
Figure 0006152226
上記のユーザ動作に対応する検索要求は「apple iPhone4」という同じキーワードを含むが、検索結果開始位置パラメータおよび検索結果量は、ページごと表示技術およびカスケード表示技術に関連付けられているユーザ要求で異なっている。したがって、かかるユーザ要求から生成された検索要求も異なる。キャッシュインデックス内に検索要求およびそれに対応する検索結果をキー・値ペアとして格納する従来技術を前提とすると、(表1の最初の3つのエントリに関連付けられている)以前の期間に取得されたページごと表示タイプに関連付けられている検索結果がすでにキャッシュ内に存在しても、カスケード表示技術に関連付けられているその後に受信された検索要求と一致する検索結果についてキャッシュが検索された時に、ページごと検索要求およびカスケード検索結果のフォーマットが異なることにより、後続のカスケード検索要求は、ページごと検索結果をキャッシュするために以前に用いられた検索結果の検索要求キーと一致しえない。したがって、以前にキャッシュされたページごとの検索結果は、後続のカスケードの検索要求には利用できず、結果として、検索エンジンによる検索を用いて後続のカスケード検索要求のために新しい検索結果が生成され、それらの検索結果は、(表1の残り2つのエントリに関連付けて)キャッシュに格納される。
上述の問題に対する速やかな解決策は、ページごと表示タイプによって用いられる検索結果の1ページに対する表示量を、カスケード表示タイプによって用いられる各ロードの表示量と同じにすることである。このように、sパラメータおよびnパラメータが、これらの表示タイプの両方で一致するので、両タイプのために生成される検索結果が同じになる。
しかしながら、かかるアプローチは、ページごと表示タイプによって用いられる1ページの商品の表示量およびカスケード表示タイプによって用いられる各ロードの表示量が、それぞれのアプリケーションシナリオによって決定されることから、実際には実現不可能である。ページごと表示タイプおよびカスケード表示タイプが用いられる異なるアプリケーションシナリオの例は、以下の通りである:ページごと表示タイプは、しばしば、非モバイルデバイス(例えば、ラップトップまたはデスクトップコンピュータ)に用いられ、かかるデバイスは、ページごとに表示する検索結果をリトリーブすることが特定の動作コストを有するため、一般に、ページごとに多数の商品を要求する。カスケード表示タイプは、しばしば、モバイルデバイスに用いられ、かかるデバイスは、一般に、ネットワーク環境およびハードウェア制約のために要求ごとにリトリーブされる検索結果の許容量が小さい。要求される検索結果の量は、ネットワークリソースを効率的に利用できるように、必要に応じて決定される。2つの表示タイプは、独立して生じたそれぞれのニーズを有しているため、ページごと表示タイプおよびカスケード表示タイプの両方に一様な表示量を課すことが、各表示タイプが用いられる背景を妨げうる。
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。
ユーザ検索要求を扱うためのウェブサイトサービスシステムの従来のシステムアーキテクチャの一実施形態を示す図。
キャッシュクエリ要求を生成するためのシステムの一実施形態を示す図。
キャッシュクエリ要求を生成するための処理の一実施形態を示すフローチャート。
キャッシュクエリ要求を生成する処理の一例を示す図。
キャッシュクエリ要求を生成するためのシステムの一実施形態を示す図。
キャッシュクエリ要求の生成を実施するためにプログラムされたコンピュータシステムの一実施形態を示す機能図。
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ)を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
キャッシュクエリ要求生成の実施形態を本明細書に記載する。ユーザクエリが、デバイスから受信される。表示タイプ固有検索要求が、ユーザクエリに少なくとも部分的に基づいて生成される。キャッシュクエリ要求が、表示タイプ固有検索要求および設定されたキャッシュ粒度に少なくとも部分的に基づいて生成される。様々な実施形態において、「キャッシュ粒度」は、各キャッシュクエリ要求に対してリトリーブできる検索結果の最大量を含む。様々な実施形態において、キャッシュは、キー・値ペアを用いて、格納されているコンテンツにインデックス付けし、ここで、キーは、キャッシュクエリ要求を含み、対応する値は、キャッシュクエリ要求に対応する以前に取得された検索結果を含む。現在のキャッシュクエリ要求に対応する検索結果がキャッシュ内で見いだされうるか否かが判定される。現在のキャッシュクエリ要求に対応する検索結果がキャッシュ内で見いだされうる場合、表示タイプ固有検索要求に関連付けられている見出された対応する検索結果の一部が抽出され、デバイスに送り返される。したがって、異なるフォーマットに関連付けられている異なる表示タイプ固有検索要求を統一フォーマットのキャッシュクエリ要求に変換することにより、異なる表示タイプ固有検索要求がキャッシュ済みのコンテンツを最終的に共有できるように、キャッシュクエリ要求に対応する検索結果をキャッシュに格納し、キャッシュからリトリーブすることができる。
図2は、キャッシュクエリ要求を生成するためのシステムの一実施形態を示す図である。この例において、システム200は、第1表示タイプデバイス202、第2表示タイプデバイス204、ネットワーク206、および、ウェブサイトサービスシステム208を備える。ウェブサービスシステム208は、ウェブサーバ210、モバイルインターネットサーバ220、キャッシュサーバ230、検索エンジン240、および、検索要求サーバ250を備える。ネットワーク206は、高速データネットワークおよび/または遠隔通信ネットワークを含む。
ウェブサービスシステム208は、ユーザが一致項目を検索できるウェブサイトの運営に関連する。例えば、ウェブサイトは、商品を含む検索結果をユーザが検索できる電子商取引ウェブサイトを含む。ユーザは、異なる表示タイプに関連付けられているデバイスを用いて、ウェブサイトにアクセスしうる。例えば、第1表示タイプは、最大数までの検索結果を一度にリトリーブして検索結果ページに表示できるページごと表示タイプである。ページごと表示タイプにおいて、同じユーザクエリに関連付けられている次の検索結果ページをリトリーブするために、ユーザは、現在表示されている検索結果ページで「次ページを見る」という選択可能な要素を選択できる。例えば、第2表示タイプは、ユーザが検索結果ページの各新しい領域にスクロールダウンした時に、さらなる検索結果が動的にロードされるカスケード表示タイプである。
いくつかの実施形態において、1つのデバイスが、複数の表示タイプを用いてもよく、ユーザクエリのソース(例えば、モバイルまたは非モバイルタイプのウェブブラウザアプリケーション、および/または、検索結果が要求されるウェブサイト)に応じて、特定の表示タイプに関連付けられている検索結果を要求してよい。しかしながら、説明のため、図2の例では、第1表示タイプデバイス202および第2表示タイプデバイス204の各々が、異なる表示タイプを用いることに関連している。
例えば、ページごと表示である第1表示タイプは、非モバイルデバイスまたは非モバイル表示フォーマットに関連し、カスケード表示である第2表示タイプは、モバイルデバイスまたはモバイル表示フォーマットに関連する。システム200の例において、第1表示タイプデバイス202は、非モバイルデバイス(例えば、デスクトップコンピュータ)を含む、および/または、ページごと技術を用いてウェブサイトのための検索結果を表示するよう構成された非モバイルウェブブラウザアプリケーションを備える。ここで、ユーザによって閲覧を要求された各検索結果ページのために、検索結果がリトリーブされる。第2表示タイプデバイス204は、モバイルデバイス(例えば、スマートフォン、タブレットデバイス)を含む、および/または、カスケード技術を用いてウェブサイトのための検索結果を表示するよう構成されたモバイルウェブブラウザアプリケーションを備える。ここで、検索結果ページの各新しい部分への(例えば、スクロールダウンによる)ユーザアクセスに応答して、検索結果ページに検索結果が動的にロードされる。しかしながら、実際の実施例において、第1表示タイプデバイス202および第2表示タイプデバイス204は、異なる表示タイプを用いるよう構成された任意の他のペアのデバイスを含んでもよい。さらに、実際の実施例において、ページごとおよびカスケード以外の表示タイプが、第1表示タイプデバイス202および第2表示タイプデバイス204によって用いられてもよい。
ユーザは、第1表示タイプデバイス202または第2表示タイプデバイス204のいずれかを用いて、ウェブサイトにアクセスし、ユーザクエリをウェブサイトに送信できる。ユーザクエリは、ネットワーク206を介して送信され、ウェブサイトサービスシステム208で受信される。ユーザクエリは、ユーザによって入力されたクエリキーワードと、いくつかの実施形態において、表示タイプ識別子と、を含む。いくつかの実施形態において、表示タイプ識別子は、検索結果を表示するために用いられる第1表示タイプデバイス202で実行される非モバイルブラウザアプリケーションによって生成される。例えば、ユーザが第1表示タイプデバイス202(例えば、そのデバイスで実行されるウェブブラウザアプリケーション)を用いて、ユーザクエリを送信した場合、ウェブサイトサービスシステム208で受信されたユーザクエリは、クエリキーワードと、ページごと表示に関連付けられた識別子と、を含むことになる。ユーザクエリは、HTTP要求として送信されてよい。例えば、ユーザが第2表示タイプデバイス204(例えば、そのデバイスで実行されるモバイルアプリケーション)を用いて、ユーザクエリを送信した場合、ウェブサイトサービスシステム208で受信されたユーザクエリは、クエリキーワードと、カスケード表示に関連付けられた識別子と、を含むことになる。いくつかの実施形態において、表示タイプ識別子は、検索結果を表示するために用いられる第2表示タイプデバイス204で実行されるモバイルブラウザアプリケーションによって生成される。例えば、表示タイプ識別子は、HTTPヘッダ値を含んでよい。いくつかの実施形態において、ウェブサービスシステム208は、第1表示タイプデバイス202および/または第2表示タイプデバイス204で実行されており、検索結果を表示するために用いられるブラウザアプリケーションのタイプ(例えば、モバイルまたは非モバイル)について(例えば、Javascriptを用いて)クエリすることができる。検出されたブラウザアプリケーションに関連付けられている表示タイプは、利用されているブラウザアプリケーションの検出されたタイプ(例えば、モバイルまたは非モバイル)に基づいて決定されてよい。
ウェブサーバ210は、ページごと表示に関連付けられた識別子に関連付けられているユーザクエリを受信するよう構成されており、モバイルインターネットサーバ220は、カスケード表示に関連付けられた識別子に関連付けられているユーザクエリを受信するよう構成されている。ウェブサーバ210は、ページごと表示技術に関連付けられている第1の表示タイプ固有検索要求を生成するよう構成されている。第1の表示タイプ固有検索要求は、ユーザクエリからのクエリキーワード、要求検索結果開始位置パラメータ、および、ページごと表示に関連付けられている要求検索結果量を含む。同様に、モバイルインターネットサーバ220は、カスケード表示技術に関連付けられている第2の表示タイプ固有検索要求を生成するよう構成されている。第1の表示タイプ固有検索要求は、ユーザクエリからのクエリキーワード、要求検索結果開始位置パラメータ、および、カスケード表示に関連付けられている要求検索結果量を含む。様々な実施形態において、異なる表示タイプに関連付けられている検索要求に含まれる要求検索結果量は、異なるように構成されるため、異なる表示タイプに関連付けられている検索要求は、異なるフォーマットに関連する。例えば、ページごと表示に関連付けられている要求検索結果量は、各検索結果ページに10件の検索結果を含み、カスケード表示に関連付けられている要求検索結果量は、検索結果ページへの最初の検索結果ロードについて5件の検索結果、および、同じ検索結果ページへの後続の各検索結果ロードについて3件の検索結果を含む。
検索要求サーバ250は、第1の表示タイプ固有検索要求および第2の表示タイプ固有検索要求を、それぞれ、ウェブサーバ210およびモバイルインターネットサーバ220から受信するよう構成されている。検索要求サーバ250は、異なるフォーマットに関連付けられている第1の表示タイプ固有検索要求および第2の表示タイプ固有検索要求の両方を統一フォーマットのクエリ要求(すなわち、キャッシュクエリ要求)に変換するよう構成されている。次いで、検索要求サーバ250は、キャッシュクエリ要求を用いて、キャッシュサーバ230に格納されている対応する検索結果をクエリし(例えば、検索要求サーバ250は、キャッシュクエリ要求に対応する検索結果がキャッシュに存在するか否かをクエリし)、対応する検索結果がキャッシュサーバ230で見つからない場合、検索要求サーバ250は、検索エンジン240がキャッシュクエリ要求に基づいて(例えば、検索結果のデータベース内で)検索を実行して、対応する検索結果を取得するように要求する。次いで、検索要求サーバ250は、取得された検索結果から第1/第2の表示タイプ固有検索要求に対応する検索結果を抽出して、キャッシュクエリ要求の元となった検索要求を送信したウェブサーバ210およびモバイルインターネットサーバ220のいずれかに送り返し、その結果、対応する検索結果が、ユーザクエリの由来するそれぞれの第1表示タイプデバイス202または第2表示タイプデバイス204に送り返されることが可能になる。また、検索要求サーバ250は、後のユーザクエリで用いるために、キャッシュクエリ要求に対して見つかった対応する検索結果をキャッシュサーバ230に格納する。後に詳述するように、検索要求サーバ250は、設定されたキャッシュ粒度に少なくとも部分的に基づいて、第1の表示タイプ固有検索要求または第2の表示タイプ固有検索要求のいずれかをキャッシュクエリ要求に変換するため、各キャッシュクエリ要求に対応してキャッシュサーバ230に格納される検索結果は、同じキャッシュ粒度で格納される。
第1の表示タイプ固有検索要求および第2の表示タイプ固有検索要求は、異なるパラメータ(例えば、異なる要求検索結果量の値)に関連するので、従来は、第1の表示タイプ固有検索要求および第2の表示タイプ固有検索要求の両方を同じキャッシュに格納される検索結果のインデックスキーとして用いることから、2つの異なる表示タイプに関連付けられているユーザクエリがキャッシュ済みの検索結果を共有することを可能にするのに困難があった。したがって、クエリキャッシュサーバ230への要求を用いる前に、第1の表示タイプ固有検索要求および第2の表示タイプ固有検索要求の各々をキャッシュクエリ要求に変換することにより、検索要求サーバ250は、キャッシュクエリ要求だけを用いて、クエリキャッシュサーバ230にクエリし、キャッシュサーバ230に格納されている対応する検索結果のインデックスキーとして格納することができる。
キャッシュサーバ230は、キー・値インデックスを用いて、キャッシュされたコンテンツを組織化する。様々な実施形態において、キー・値インデックス内で、各キーは、キャッシュクエリ要求を含み、キーに対応する値は、キャッシュクエリ要求に含まれるクエリキーワードパラメータ、開始位置パラメータ、および、要求検索結果量パラメータを用いて検索エンジン240によって見出された対応する検索結果を含む。
検索要求サーバ250は、設定されたキャッシュ粒度に少なくとも部分的に基づいて、第1の表示タイプ固有検索要求または第2の表示タイプ固有検索要求のいずれかをキャッシュクエリ要求に変換する。様々な実施形態において、「キャッシュ粒度」は、この特定のキャッシュ粒度設定を有するキャッシュサーバによって各キャッシュクエリ要求に対してリトリーブされうる検索結果の最大量を含む。いくつかの実施形態において、キャッシュ粒度は、特定のキャッシュサーバ(例えば、キャッシュサーバ230)で用いられるように構成される。いくつかの実施形態において、キャッシュ粒度は、複数のキャッシュサーバで用いられるように構成される。いくつかの実施形態において、キャッシュ粒度は、コンピュータプログラムまたはシステム管理者によって設定されうる。第1の表示タイプ固有検索要求または第2の表示タイプ固有検索要求に基づいて生成されたキャッシュクエリ要求は、第1の表示タイプ固有検索要求または第2の表示タイプ固有検索要求として同じクエリキーワードを含む。様々な実施形態において、キャッシュクエリ要求の開始位置パラメータは、設定されたキャッシュ粒度と、第1の表示タイプ固有検索要求または第2の表示タイプ固有検索要求の開始位置パラメータとに少なくとも部分的に基づいて決定される。様々な実施形態において、キャッシュクエリ要求の要求検索結果量パラメータは、キャッシュ粒度に少なくとも部分的に基づいて決定される。
キャッシュクエリ要求のための開始位置パラメータおよび要求検索結果量パラメータを、第1または第2の表示タイプ固有検索要求の対応するパラメータから決定する一例において、キャッシュクエリ要求内の要求検索結果量は、キャッシュ粒度によって規定された量に基づいて決定される。キャッシュクエリ要求内の開始位置パラメータは、キャッシュ粒度によって規定された量と、第1/第2の表示タイプ固有検索要求内の開始位置パラメータとに従って決定される。具体的には、キャッシュクエリ要求内の開始位置パラメータは、1)キャッシュ粒度によって規定された量の倍数、2)第1/第2の表示タイプ固有検索要求の開始位置パラメータ以下、かつ、3)キャッシュ粒度によって規定された量と加算された時に、合計が第1/第2の表示タイプ固有検索要求の開始位置以上になるような値に設定されうる。例えば、開始位置パラメータは、正の整数(0、1、2、3など)とキャッシュ粒度によって規定された量との積に等しくなるように調整されうる。
キャッシュクエリ要求に対応する検索結果がキャッシュサーバ230に存在する場合、キャッシュクエリ要求に対応する検索結果は、検索要求サーバ250によってキャッシュサーバ230から取得される。次いで、キャッシュクエリ要求の元となった第1または第2の表示タイプ固有検索要求によって要求された検索結果に対応する検索結果が、これらの検索結果から抽出され、それぞれの第1または第2の表示タイプ固有検索要求を送信したウェブサーバ210またはモバイルインターネットサーバ220のいずれかに送り返される。ウェブサーバ210またはモバイルインターネットサーバ220のいずれかである受信側は、検索結果を第1表示タイプデバイス202または第2表示タイプデバイス204にそれぞれ送り返す。
キャッシュクエリ要求に対応する検索結果がキャッシュサーバ230に存在しない場合、検索要求サーバ250は、対応する検索結果を取得するために、検索エンジン240がキャッシュクエリ要求に基づいて検索を実行することを要求する。次いで、キャッシュクエリ要求の元となった第1または第2の表示タイプ固有検索要求に対応する検索結果が、取得された検索結果から抽出され、それぞれの第1または第2の表示タイプ固有検索要求を送信したウェブサーバ210またはモバイルインターネットサーバ220のいずれかに送り返されるウェブサーバ210またはモバイルインターネットサーバ220のいずれかである受信側は、検索結果を第1表示タイプデバイス202または第2表示タイプデバイス204にそれぞれ送り返す。検索要求サーバ250は、さらに、後のキャッシュクエリ要求で用いるために、キャッシュクエリ要求に対して取得された対応する検索結果をキャッシュサーバ230に格納する。したがって、キャッシュクエリ要求が、第1表示タイプデバイス202からのユーザクエリに基づいてウェブサーバ210によって生成された第1の表示タイプ固有検索要求から生成されたのか、第2表示タイプデバイス204からのユーザクエリに基づいてモバイルインターネットサーバ220によって生成された第2の表示タイプ固有検索要求から生成されたのかに関わらず、キャッシュサーバ230に格納されている検索結果に関連付けられているすべてのキャッシュクエリ要求が、同じ要求検索結果量パラメータを含む(すべてのパラメータが、キャッシュ粒度によって規定された量に設定されるため)。
本明細書に記載するように、異なる表示タイプ固有検索要求をキャッシュクエリ要求(検索結果をキャッシュに格納し、検索結果をキャッシュからリトリーブするために用いられる)に変換することにより、キャッシュヒット率を高め、検索エンジン訪問回数を削減し、検索処理時間を短縮し、全体のユーザ体験を高めることができる。キャッシュヒットに関連付けられている検索結果を返すことは、一般に、(例えば、検索エンジンに検索の実行を要求することを含む)キャッシュミスに関連付けられている検索結果を返すことよりも効率的であるため、キャッシュヒット率を高めることが、検索処理時間を改善することになる。
図2に記載のウェブサイトサービスシステムのシステムアーキテクチャは、単に一例である。本願は、これに限定されない。図2に記載のウェブサイトサービスシステムの機能は、任意の適切なサーバシステム内に任意の形態で実現されてよい。例えば、図2の例では、検索要求サーバを説明しているが、検索要求サーバの機能は、例えば、ウェブサーバ、モバイルインターネットサーバ、検索エンジンサーバ、および、キャッシュサーバなど、ウェブサービスシステムの別のモジュールに統合されてもよい。例えば、ウェブサーバおよび/またはモバイルインターネットサーバが、本明細書に記載のキャッシュクエリおよび検索結果抽出を実施するために、第1または第2の表示タイプ固有検索要求をキャッシュクエリ要求に変換し、キャッシュサーバおよび検索エンジンサーバとのやり取りを完了させるように構成されてもよい。別の例では、検索エンジンサーバが、キャッシュクエリおよび検索結果抽出を実施するために、第1または第2の表示タイプ固有検索要求をキャッシュクエリ要求に変換し、キャッシュサーバとのやり取りを完了させるように構成されてもよい。さらに別の例では、キャッシュサーバが、検索結果を抽出するために、検索要求をキャッシュクエリ要求に変換し、キャッシュクエリおよび検索エンジンとのやり取りを完了させるように構成されてもよい。さらに、ウェブサイトサービスシステムは、カスケード表示タイプのためのモバイルインターネットサーバおよびページごと表示タイプのためのウェブサーバに加えて、任意のその他の表示タイプで用いるよう構成された他のサーバを備えるよう構成されてもよい。さらに、上述のアーキテクチャ内のキャッシュサーバは、ウェブサイトサービスシステムの単独の構成要素として機能するが、キャッシュサーバは、例えば、ウェブサーバ、モバイルインターネットサーバ、および/または、検索エンジンサーバと統合されてもよい。
図3は、キャッシュクエリ要求を生成するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理300は、図2のシステム200で実施される。具体的には、いくつかの実施形態において、処理300は、図2のシステム200のウェブサイトサービスシステム208で実施される。
工程302では、ユーザクエリが、デバイスから受信される。例えば、ユーザは、デバイスを用いてウェブサイトにアクセスし、検索入力ウィンドウを介して1または複数のクエリキーワードを送信しうる。ユーザクエリは、ラップトップまたはデスクトップコンピュータなどの非モバイルデバイスで実行されるウェブブラウザアプリケーションから生成されてよい。ユーザクエリは、スマートフォンまたはタブレットデバイスなどのモバイルデバイスで実行されるモバイルアプリケーションから生成されてもよい。例えば、ユーザクエリが送信されたデバイスで実行されるアプリケーションは、ページごと表示タイプ、カスケード表示タイプ、または、任意のその他の適切な表示タイプを用いるよう構成されてよい。
ユーザクエリは、ユーザによって送信されたクエリキーワードと、いくつかの実施形態において、ユーザクエリが生成されたデバイスおよび/またはユーザクエリが生成されたデバイスで実行されているブラウザアプリケーションによって用いられる検索結果表示タイプの識別子と、を備える。例えば、ページごと表示タイプを用いる非モバイルデバイスで実行されるウェブブラウザアプリケーションを介してユーザによって送信された検索クエリに応じて、クエリは、ページごと表示に関連付けられた識別子を含むように生成されうる。また、例えば、カスケード表示タイプを用いるモバイルデバイスで実行されるモバイルアプリケーションを介してユーザによって送信された検索クエリに応じて、クエリは、カスケード表示に関連付けられた識別子を含むように生成されうる。いくつかの実施形態において、ウェブサイトサービスシステムは、ユーザクエリを生成したデバイスで実行されるブラウザアプリケーションのタイプ(例えば、モバイルまたは非モバイル)をクエリすることに少なくとも部分的に基づいて、ユーザクエリに関連付けられている表示タイプ識別子を検出する。
工程304では、表示タイプ固有検索要求が、ユーザクエリに少なくとも部分的に基づいて生成される。異なる検索要求が、ユーザクエリに関連付けられている表示タイプに基づいて生成される。例えば、ページごと表示固有のフォーマットに関連付けられている検索要求が、ページごと表示タイプ識別子に関連付けられているユーザクエリに基づいて生成され、カスケード表示固有のフォーマットに関連付けられている検索要求が、カスケード表示タイプ識別子に関連付けられているユーザクエリに基づいて生成される。
表示タイプ固有検索要求は、少なくとも、クエリキーワードパラメータ、要求検索結果開始位置パラメータ、要求検索結果量パラメータを含んでよい。様々な実施形態において、開始「位置」パラメータとは、(例えば、データベーステーブル内に順序付けられた行または検索結果の順位の)並びの中での、返される最初の検索結果の位置のことである。ユーザクエリに応答して最初の検索結果セットを表示した後のユーザ動作により、さらなる検索結果が同じユーザクエリに対して取得されうるので、複数の表示タイプ固有検索結果が、同じユーザクエリに対して生成されうる。例えば、ページごとの結果表示では、最初の検索結果ページが取得され、要求側デバイスでユーザに表示された後に、ユーザは、次の検索結果ページを閲覧することを選択する場合があるため、別のページごと固有検索要求が、同じユーザクエリに対するさらなる検索結果をリトリーブするために生成されうる。同様に、例えば、カスケードの結果表示では、検索結果の最初のロードが取得され、要求側デバイスでユーザに表示された後に、ユーザは、検索結果の次のロードを閲覧するために検索結果ページをさらにスクロールダウンする場合があるため、別のカスケード固有検索要求が、同じユーザクエリに対するさらなる検索結果をリトリーブするために生成されうる。
表示タイプ固有検索要求のパラメータの値について、以下で詳述する。
様々な実施形態において、表示タイプ固有検索要求のクエリキーワードパラメータの値は、ユーザクエリのクエリキーワードに設定される。
様々な実施形態において、要求検索結果量パラメータの値は、ユーザクエリおよび/または検索結果ページに関する任意のユーザ動作に関連付けられている表示タイプ識別子に関連付けられている値に設定される。例えば、各ページが表示できる検索結果の最大数が、ページごと表示タイプにおいて10であるとする。したがって、ページごと固有検索要求は、どの検索結果ページ(例えば、1ページ目、2ページ目、3ページ目など)が取得されている場合でも、10に設定された要求検索結果量パラメータを含むことになる。例えば、カスケード表示において検索結果の最初のロードで検索結果ページにロードできる検索結果の最大数が5であり、最初のロードの後の検索結果の各ロードで検索結果ページにロードできる検索結果の最大数が3であるとする。したがって、カスケード固有検索要求は、ユーザクエリに対する検索結果の最初のロードについては、5に設定された要求検索結果量パラメータを含み、同じユーザクエリに対する検索結果の各後続のロードについては、3に設定された要求検索結果量パラメータを含むことになる。
例えば、ユーザクエリに含まれるユーザクエリキーワードが、「apple iPhone4」であるとする。ユーザクエリが、ページごと表示タイプに関連付けられた識別子に関連する場合、各ページが表示できる検索結果の最大数は10である。したがって、生成されたページごと表示固有検索要求は、以下のように記録されうる:「q=apple iphone4&s=0&n=10」、ここで、qは、ユーザクエリキーワードであり、sは、返されるよう要求された検索結果の開始位置であり、nは、返されるよう要求された検索結果の量である。ユーザクエリが、カスケード表示タイプに関連付けられた識別子に関連する場合、検索結果の最初のロードで検索結果ページにロードできる検索結果の最大数は5である(そして、最初のロードの後の検索結果の各ロードで検索結果ページにロードできる検索結果の最大数は3である)。したがって、検索結果の最初のロードに対応するカスケード固有検索要求は、「q=apple iphone4&s=0&n=5」として記録されることができ、ここで、qは、ユーザクエリキーワードであり、sは、返されるよう要求された検索結果の開始位置、nは、返されるよう要求された検索結果の量である。この例で示すように、異なる表示タイプに関連付けられているユーザクエリに基づいて生成された検索要求は、同じパラメータに対して異なる値を備えうる。
様々な実施形態において、要求検索結果開始位置パラメータの値は「0」に設定されるか、または、いずれかの値が、ユーザクエリに対して生成された最初の表示タイプ固有検索要求における検索結果のデフォルトの開始位置の値になる。次いで、表示された検索結果ページに関連するユーザ動作(例えば、次の検索結果ページを閲覧するためのユーザ選択、または、検索結果のさらなるロードを受信するための検索結果のユーザスクロールダウン)に応答して同じユーザクエリに対して生成される後続の各表示タイプ固有検索要求について、要求検索結果開始位置パラメータの値は、直前の表示タイプ固有検索要求からの要求検索結果開始位置パラメータの値と、直前の表示タイプ固有検索要求からの要求検索結果量パラメータの値との合計に設定される。例えば、ユーザクエリに対して生成される最初のページごと固有検索要求について、要求検索結果開始位置パラメータの値は「0」に設定され、同じユーザクエリに対して生成される2つ目のページごと表示固有検索要求について、要求検索結果開始位置パラメータの値は「10」に設定される。同様に、例えば、ユーザクエリに対して生成される最初のカスケード固有検索要求について、要求検索結果開始位置パラメータの値は「0」に設定され、同じユーザクエリに対して生成される2つ目のカスケード表示固有検索要求について、要求検索結果開始位置パラメータの値は「5」に設定される。
工程306では、キャッシュクエリ要求が、表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて生成される。様々な実施形態において、異なる表示固有検索要求が、設定されたキャッシュ粒度に基づいてキャッシュクエリ要求に変換されることによって標準化される。結果として、異なるフォーマットを持つ検索要求が、統一フォーマットに変換され、したがって、キャッシュに格納されている検索要求を共有し、キャッシュヒット率を高めることができる。
工程304について上述したように、複数の表示タイプ固有検索要求が同じユーザクエリに対して生成されてよく、工程306について上述したように対応するキャッシュクエリ要求が、かかる表示タイプ固有検索要求の各々に対して生成されうる。
様々な実施形態において、「キャッシュ粒度」は、各キャッシュクエリ要求に対してリトリーブできる検索結果の最大量を指定する。いくつかの実施形態において、キャッシュ粒度は、特定のキャッシュサーバまたは複数のキャッシュサーバで用いられるよう構成されている。異なる表示タイプ固有検索要求が、統一キャッシュ粒度に従って、キャッシュクエリ要求に変換されてよい。
キャッシュクエリ要求は、少なくとも、クエリキーワードパラメータ、要求検索結果開始位置パラメータ、および、要求検索結果量パラメータを含む。キャッシュクエリ要求のパラメータの値について、以下で詳述する。
キャッシュクエリ要求のクエリキーワードパラメータの値は、表示タイプ固有検索要求のクエリキーワードを含む。
キャッシュクエリ要求内の要求検索結果量パラメータの値は、キャッシュ粒度によって規定された量に基づいて決定される。具体的には、例えば、キャッシュクエリ要求内の要求検索結果量パラメータの値は、キャッシュ粒度によって規定された量に設定されうる。
キャッシュクエリ要求内の開始位置パラメータの値は、キャッシュ粒度によって規定された量と、表示タイプ固有検索要求内の開始位置パラメータとに基づいて決定される。具体的には、キャッシュクエリ要求内の開始位置パラメータの値は、1)キャッシュ粒度の倍数、2)表示タイプ固有検索要求内の開始位置パラメータ以下、かつ、3)キャッシュ粒度によって規定された量に加算された時に、合計が表示タイプ固有検索要求内の開始位置パラメータの値以上になるような値に設定されうる。例えば、キャッシュ粒度によって規定された量が20であると仮定する。この例において、キャッシュクエリ要求内の開始位置パラメータは、0、20、40、または、60でありうる。さらに、表示タイプ固有検索要求内のクエリキーワードが「apple iPhone4」であり、初期の要求検索結果開始位置パラメータが50であり、要求検索結果量が5であると仮定する。表示タイプ固有検索要求は、「q=apple iphone4&s=50&n=5」と記録されうる。表示タイプ固有検索要求に従って、位置51〜55の検索結果が、ユーザに返すために要求される。この例において、表示タイプ固有検索要求に基づいて生成されたキャッシュクエリ要求は、「q=apple iphone4&s=40&n=20」と表現されうる。すなわち、キャッシュクエリ要求は、キャッシュが位置41〜60の関連検索結果を有するか否かをクエリする。この例のキャッシュクエリ要求によって示されるように、要求される検索結果の量nは、キャッシュ粒度によって規定された量「20」に等しく設定されうる。
いくつかの実施形態において、キャッシュ粒度は、コンピュータプログラムまたはシステム管理者によって設定されうる。いくつかの実施形態において、キャッシュ粒度は、履歴ユーザ行動情報に基づいて設定されてよい。履歴ユーザ行動情報は、ユーザ検索動作、次ページ閲覧ユーザ選択動作、および、ウェブサイトでのスクロールダウンロードユーザ動作など、ユーザアクセス動作に関する統計情報を含みうる。いくつかの実施形態において、キャッシュ粒度を設定するために用いられる履歴ユーザ行動情報は、現在のユーザクエリの送信に関連するユーザに固有であり、したがって、そのユーザについて追跡された履歴ユーザ行動情報を含む。いくつかの実施形態において、キャッシュ粒度を設定するために用いられる履歴ユーザ行動情報は、現在のユーザクエリの送信に関連するユーザに固有ではなく、したがって、様々なユーザについて追跡された履歴ユーザ行動情報を含む。例えば、クエリキーワードのタイプに関して、ユーザ(または、用いられる履歴ユーザ動作行動が様々なユーザに対して固有であるか固有でないかによっては、複数のユーザ)が、複数の検索結果ページを閲覧する選択を好みうる。したがって、すでにキャッシュに格納されている検索結果で後続のページ検索要求を都合よく満たすことができるように、複数ページにわたって表示できる検索結果の量が、最初のページ検索要求中に直接要求されてもよい。したがって、かかる統計情報は、キャッシュ粒度を設定する根拠として利用できる。例えば、キャッシュ粒度は、キャッシュヒット率を高めるために、1検索結果ページに表示できる検索結果の量の倍数に設定されてよい。1検索結果ページに表示できる検索結果の量の倍数としてキャッシュ粒度を設定することは、特に、1つの表示技術における検索要求の処理を最適化するのに適している。
別の具体的な実施形態において、キャッシュ粒度は、異なる表示技術に関する異なる検索要求内で要求された検索結果の数に基づいて設定されてもよい。異なる表示タイプ固有検索要求が、キャッシュに格納されているコンテンツを効率的に共有できるようにするために、様々な実施形態において、キャッシュ粒度は、異なる表示タイプ固有検索要求の中で最大の要求検索結果量パラメータ以上に設定される。例えば、キャッシュ粒度は、異なる表示タイプ固有検索要求の中で最大の要求検索結果量パラメータの倍数に設定されてよい。例えば、ページごと技術でページあたりの表示量が10であり、カスケード技術でロードあたりの表示量が3であると仮定する。そうすれば、キャッシュ粒度の量は、10の倍数、すなわち、10、20、30などに設定されうる。
例えば、最初の期間に「apple iPhone4」というクエリキーワードを含むユーザクエリを送信したユーザのためにリトリーブされた検索結果を表示するために、ページごと表示タイプが用いられ、後の期間に「apple iPhone4」という同じクエリ語を含むユーザクエリを送信した同じユーザまたは別のユーザのためにリトリーブされた検索結果を表示するために、カスケード表示タイプが用いられたとする。ページごと表示タイプを用いたデバイスは、最初のページ検索結果を最初に表示する動作を実行し、その後、2ページ目の検索結果を閲覧するためのユーザ選択を受信する。カスケード表示タイプを用いたデバイスは、検索結果ページをさらにスクロールダウンするユーザ動作に応答して、次に続く検索結果のセットをロードする。検索結果のページごと表示およびカスケード表示中の表示された検索結果との上述のユーザ相互作用の結果として、本明細書に記載のキャッシュサーバは、以下の表2に示すようにコンテンツを保存しうる。この例において、キャッシュ粒度は20に設定され、各検索結果は商品を含む。
Figure 0006152226
異なる表示タイプおよび異なる検索要求に関連する5アクセスは、1つの検索エンジン要求および1つのキャッシュされたキー・値ペア(キャッシュクエリ要求「q=apple iphone4&s=0&n=20」を含むキー、および、対応する商品1〜18を含む値)しか必要としないことが、上記の表2における例からわかる。この例の第1のアクセス(最初の検索結果ページを閲覧するためのページごとのユーザ動作)の後、キャッシュサーバは、以下の表3に示すようにキー・値ペアを保存する。
Figure 0006152226
したがって、キャッシュ粒度の量を異なる表示タイプ固有検索要求の中で最大の要求検索結果量の倍数に設定することにより、キャッシュヒット率を上げ、検索エンジンの検索回数を減らすことができる。
表2および表3に関する例に示されるように、キャッシュクエリ要求内で指定された要求検索結果量よりも、取得できる利用可能な検索結果が少ない場合がある。例えば、キャッシュクエリ要求内で指定された要求検索結果量よりも、利用可能な一致検索結果の数が少ない場合には、キャッシュクエリ要求内で要求検索結果量によって指定された量未満が、検索エンジンによって実際に取得されてもよい。例えば、表2および表3の例において、実際に取得できる検索結果の量は18であり、これは、キャッシュクエリ要求内の要求検索結果量パラメータ(n=20)よりも少ない。したがって、これらの例において、キャッシュ粒度は、各キャッシュクエリ要求に対応する検索結果の許可されたキャッシュ格納量を制限するために用いられるが、各キャッシュクエリ要求に対応してキャッシュに実際に格納されている検索結果の量と必ずしも等しくはない。したがって、様々な実施形態において、キャッシュに実際に格納されている各キャッシュクエリ要求に対応する検索結果の量は、キャッシュ粒度以下である。
より大きいキャッシュ粒度が必ずしも望ましくない場合がある。以下は、より大きいキャッシュ粒度を用いる効果をテストする実験解析の説明である。検索エンジン処理時間は、一般に、キャッシュ処理時間よりも長いと仮定される。検索エンジン処理時間は、「s+n」に関連するが、キャッシュ処理時間は、一般に、一定である。表3に関して上述した例を用いて、各検索要求に対応する検索エンジン処理時間およびキャッシュサーバ処理時間が、以下の表4に示されている。
Figure 0006152226
ユーザアクセス検索パターン1が以下のようであると仮定する:最初のページを閲覧するためのページごとユーザ動作100回、2ページ目を閲覧するためのページごとユーザ動作50回、カスケードの最初のロード80回、2回目のロードの60回、および、3回目のロード20回。キャッシュ粒度が10または20である場合の総処理時間が、以下の表5に示されている。
Figure 0006152226
ユーザアクセス検索パターン1については、より短い処理時間につながることから、好ましい粒度は20である。
ユーザアクセス検索パターン2が以下のようであると仮定する:最初のページを閲覧するためのページごとユーザ動作100回、2ページ目を閲覧するためのページごとユーザ動作20回、カスケードの最初のロード80回、2回目のロードの60回、および、3回目のロード20回。キャッシュ粒度が10または20である場合の総処理時間が、以下の表6に示されている。
Figure 0006152226
ユーザアクセス検索パターン2については、より短い処理時間につながることから、好ましい粒度は10である。
したがって、システム性能を最適化するために、キャッシュ粒度設定を構成する際に考慮されうる要素は、以下の内の1または複数を含む:検索エンジン処理時間、キャッシュサーバ処理時間、および、履歴ユーザ検索アクセスパターン。
(キャッシュクエリ要求に変換される前の)表示タイプ固有検索要求内の要求検索結果量も、様々な要素(例えば、検索エンジン処理時間、キャッシュサーバ処理時間、および、履歴ユーザ検索アクセスパターン)に基づいて構成できる。いくつかの実施形態において、異なる表示タイプ固有検索要求内の要求検索結果量のパラメータは、それら中で最大のかかるパラメータが他のパラメータの各々の倍数になるように構成される。具体的には、ページごと表示タイプにおいて検索結果ページに表示される要求検索結果の量またはカスケード表示タイプにおいて最初のロードで表示される要求検索結果の量を合理的に選択することにより、それらの中で最大の量が、常に、他の量の各々の倍数になりうる。このように、キャッシュへのアクセス頻度を削減できる。上記の例のように、ページごと表示タイプではページあたり10商品が表示され、カスケード表示タイプではロードあたり3商品が表示される。したがって、カスケード表示タイプでは、商品10〜12が、4回目のロードで取得されうる。したがって、キャッシュは、2回アクセスされる必要がある。しかし、ページごと表示タイプでページあたり10商品が表示され、カスケード表示タイプで各回に5商品がロードされる場合、キャッシュがアクセスされる必要があるのは1回だけである。したがって、キャッシュアクセス頻度は、上述のように、様々な異なる表示タイプ固有検索要求の要求検索結果量を設定することによってさらに削減されうる。
工程308では、キャッシュに格納されているキャッシュクエリ要求に対応する検索結果が特定される。様々な実施形態において、キャッシュは、キー・値ペア技術を用いてコンテンツにインデックス付けし、ここで、各キーは、キャッシュクエリ要求を含み、対応する値は、キャッシュクエリ要求を用いて検索エンジンによって以前に取得された検索結果を含む。したがって、キャッシュは、現在のキャッシュクエリ要求をキャッシュに関連する格納済みのキーと比較することによってクエリされてよい。一致するキーが存在し、したがって、キャッシュヒットがある場合、一致するキャッシュクエリ要求に対応する検索結果が、キャッシュ内で特定される。上記の表2に関する例に戻ると、2つ目の検索結果ページを閲覧するためのページごとユーザ動作は、キャッシュクエリ要求「q=apple iphone4&s=0&n=20」に関連する。この時点で、上記の表3に見られるように、このキャッシュクエリ要求に対応する検索結果は、最初のアクセス(最初の検索結果ページを閲覧するためのページごとユーザ動作)中にキャッシュ内にすでに格納されている。したがって、キャッシュクエリ要求「q=apple iphone4&s=0&n=20」に対応する検索結果は、2つ目のユーザ動作に対してキャッシュ内でルックアップされうる。
工程310では、キャッシュクエリ要求に対応する検索結果の少なくとも一部が、表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて抽出される。キャッシュクエリ要求に対応する検索結果がキャッシュから取得された後、キャッシュクエリ要求の元となった表示タイプ固有検索要求に関連付けられている適切な検索結果が、表示タイプ固有検索要求の開始位置パラメータおよび要求検索結果量パラメータに少なくとも部分的に基づいて抽出される。抽出された検索結果は、ユーザクエリを送信したデバイス(例えば、モバイルまたは非モバイル)に送り返される。
上記の表2に関する例に戻ると、2つ目の検索結果ページを閲覧するためのページごとユーザ動作は、キャッシュクエリ要求「q=apple iphone4&s=0&n=20」に関連する。(上記の表3に示すように)キャッシュ内のキャッシュクエリ要求「q=apple iphone4&s=0&n=20」に対応する検索結果は、「商品1,商品2,商品3,商品4,商品5,商品6,商品7,商品8,商品9,商品10,商品11,商品12,商品13,商品14,商品15,商品16,商品17,商品18」である。表示タイプ固有検索要求「q=apple iphone4&s=10&n=10」内の要求検索結果の開始位置パラメータ(s=10)および要求検索結果量(n=10)に少なくとも部分的に基づいて、特定されたキャッシュ済みの検索結果から表示タイプ固有検索要求に対応する検索結果の一部(商品11,商品12,商品13,商品14,商品15,商品16,商品17,商品18)を抽出し、ユーザクエリが送信されたデバイスにそれらを送り返すことができる。
図4は、キャッシュクエリ要求を生成する処理の一例を示す図である。いくつかの実施形態において、処理400は、図2のシステム200で実施される。具体的には、いくつかの実施形態において、処理400は、ウェブサイトサービスシステム208で実施される。いくつかの実施形態では、図3の処理300が、処理400を少なくとも部分的に用いて実施される。
工程402では、ユーザクエリが受信される。工程402は、図3の処理300の工程302と同様に実施できる。
工程404では、表示タイプ固有検索要求が、ユーザクエリに少なくとも部分的に基づいて生成される。工程404は、図3の処理300の工程304と同様に実施できる。図3の処理300の工程304で上述したように、1または複数の表示タイプ固有検索要求が、同じユーザクエリに対応して生成されてよく、開始位置パラメータおよび/または要求検索結果量パラメータが、同じユーザクエリに基づいて生成された後続の各表示タイプ固有検索要求に対して更新されてよい。
工程406では、キャッシュクエリ要求が、表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて生成される。工程406は、図3の処理300の工程306と同様に実施できる。
工程408では、キャッシュクエリ要求に対応する検索結果がキャッシュに格納されているか否かが判定される。キャッシュクエリ要求に対応する検索結果がキャッシュに格納されているとわかった場合(すなわち、キャッシュヒットの場合)、制御は、工程410に進む。逆に、キャッシュクエリ要求に対応する検索結果がキャッシュに格納されていないとわかった場合(すなわち、キャッシュミスの場合)、制御は、工程412に進む。キャッシュは、キー・値ペア技術を用いて、格納されているコンテンツにインデックス付けするよう構成されている。したがって、キャッシュは、現在のキャッシュクエリ要求をキャッシュに関連付けられている格納済みのキーと比較することによってクエリされてよい。一致するキーが存在し、したがって、キャッシュヒットがある場合、一致するキャッシュクエリ要求に対応する検索結果が、キャッシュ内で特定される。逆に、一致するキーが存在せず、したがって、キャッシュミスである場合、現行のキャッシュクエリ要求に対応する検索結果は、キャッシュ内に存在しない。
工程410では、キャッシュに格納されているキャッシュクエリ要求に対応する検索結果が特定される。キャッシュに格納されている現行のクエリ要求に対応する検索結果が特定される。工程410は、図3の処理300の工程308と同様に実施できる。
工程412では、キャッシュクエリ要求に対応する検索結果が、検索エンジンを用いて取得される。検索エンジンは、キャッシュクエリ要求に含まれるクエリキーワードと一致する検索結果を見出し、キャッシュクエリ要求に含まれる要求検索結果量までの数の検索結果を返すために、検索を実行するよう要求されうる。上述のように、キャッシュクエリ要求に含まれる要求検索結果量は、設定されたキャッシュ粒度によって規定された量に等しくてよい。ただし、キャッシュクエリ要求に含まれるクエリキーワードに一致する検索結果の数は、検索エンジンによって取得できる一致結果の利用可能性に応じて、キャッシュ粒度によって規定された数以下でありうる。
工程414では、キャッシュクエリ要求に対応する取得済みの検索結果は、キャッシュに格納される。キャッシュクエリ要求と、検索エンジンを用いて取得されたキャッシュクエリ要求に対応する検索結果が、インデックスにおけるキー・値ペアとしてキャッシュに格納される。
工程416では、キャッシュクエリ要求に対応する検索結果の少なくとも一部が抽出される。表示タイプ固有検索要求に関連付けられているキャッシュクエリ要求に対応する検索結果の少なくとも一部が、表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび表示タイプ固有検索要求に関連付けられている要求検索結果量に少なくとも部分的に基づいて抽出される。工程416は、図3の処理300の工程310と同様に実施できる。いくつかの別の実施形態において、キャッシュミスがあり、キャッシュクエリ要求に対応する検索結果が検索エンジンを用いて取得された場合、工程416の抽出は、工程414でキャッシュに検索結果を格納する前または少なくとも部分的に同時に実行されてよい。
工程418では、キャッシュクエリ要求に対応する検索結果から抽出された少なくとも一部は、ユーザクエリに関連するデバイスに送信される。
工程420では、ユーザクエリに対応する別の表示タイプ固有検索要求の生成を引き起こすよう構成されたユーザ動作が実行されたか否かが判定される。ユーザクエリに応答して最初の検索結果セットを表示した後のユーザ動作により、さらなる検索結果が同じユーザクエリに対して取得されうるので、複数の表示タイプ固有検索結果が、同じユーザクエリに対して生成されうる。例えば、ページごとの結果表示では、最初の検索結果ページが取得され、要求側デバイスでユーザに表示された後に、ユーザは、次の検索結果ページを閲覧することを選択する場合があるため、別のページごと固有検索要求が、さらなる検索結果をリトリーブするために生成されうる。同様に、例えば、カスケードの結果表示では、最初のロードの検索結果が取得され、要求側デバイスでユーザに表示された後に、ユーザは、次のロードの検索結果を閲覧するために検索結果ページをさらにスクロールダウンする場合があるため、別のカスケード固有検索要求が、さらなる検索結果をリトリーブするために生成されうる。かかるユーザ動作が実行された場合、制御は、工程404に戻される。逆に、かかるユーザ動作が実行されていない場合、処理400は終了する。
図5は、キャッシュクエリ要求を生成するためのシステムの一実施形態を示す図である。例において、システム500は、受信モジュール510、変換モジュール520、クエリモジュール530、および、抽出・返送モジュール540を備える。
モジュールは、1または複数のプロセッサ上で実行されるソフトウェアコンポーネントとして、設計されたプログラム可能論理デバイスおよび/または特定用途向け集積回路などのハードウェアとして実装されてよく、要素は、コンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワーク装置など)に本発明の実施形態に記載された方法を実行させるための複数の命令など、不揮発性記憶媒体(光学ディスク、フラッシュ記憶装置、携帯用ハードディスクなど)に格納することができるソフトウェア製品の形態で具現化されてよい。モジュールは、単一のデバイス上に実装されてもよいし、複数のデバイスにわたって分散されてもよい。
受信モジュール510は、ユーザクエリをデバイスから受信するよう構成されている。様々な実施形態において、受信モジュール510は、受信した各ユーザクエリに基づいて表示タイプ固有検索要求を生成するよう構成されている。変換モジュール520は、設定されたキャッシュ粒度に従って、表示タイプ固有検索要求をキャッシュクエリ要求に変換するよう構成されている。クエリモジュール530は、キャッシュのために格納されているキーとキャッシュクエリ要求を比較することによって、キャッシュ内でキャッシュクエリ要求に対応する検索結果をルックアップするよう構成されている。抽出・返送モジュール540は、キャッシュクエリ要求に対応する検索結果から表示タイプ固有検索要求に関連する検索結果を抽出するよう構成されている。
キャッシュクエリ要求に一致するキーがキャッシュに対して格納されていない場合、クエリモジュール530は、さらに、キャッシュクエリ要求に対応する検索結果を検索エンジンから取得し、キャッシュクエリ要求に対応する検索結果をキャッシュ内に格納するよう構成されている。
様々な実施形態において、表示タイプ固有検索要求は、少なくとも、クエリキーワードパラメータ、要求検索結果開始位置パラメータ、要求検索結果量パラメータを含む。様々な実施形態において、キャッシュクエリ要求は、少なくとも、ユーザクエリのクエリキーワードに設定されたクエリキーワードパラメータ、表示タイプ固有検索要求に含まれる開始位置とキャッシュ粒度とに基づいて設定された要求検索結果開始位置パラメータ、および、キャッシュ粒度に基づいて決定された要求検索結果量パラメータを含む。いくつかの実施形態において、キャッシュクエリ要求内の開始位置パラメータは、キャッシュ粒度の倍数に設定され、表示タイプ固有検索要求内の開始位置パラメータ以下であり、表示タイプ固有検索要求に含まれる開始位置に加算された時に、合計が表示タイプ固有検索要求内の開始位置パラメータ以上になる。いくつかの実施形態において、キャッシュクエリ要求内の要求検索結果量は、キャッシュ粒度によって規定された量に設定される。
いくつかの実施形態において、キャッシュ粒度は、異なる表示タイプ固有検索要求内の要求検索結果量に基づいて設定されうる。いくつかの実施形態において、キャッシュ粒度は、異なる表示タイプ固有検索要求の中で最大の要求検索結果量の倍数に基づいて設定されうる。いくつかの実施形態において、異なる表示タイプ固有検索要求内の要求検索結果量は、それらの中で最大のものが常に他の量の各々の倍数になるように設定される。
図6は、キャッシュクエリ要求の生成を実施するためにプログラムされたコンピュータシステムの一実施形態を示す機能図である。明らかに、メッセージに基づいて提示するメッセージデータを決定するために、他のコンピュータシステムアーキテクチャおよび構成を用いることも可能である。以下に述べるような様々なサブシステムを備えるコンピュータシステム600は、少なくとも1つのマイクロプロセッササブシステム(プロセッサまたは中央処理装置(CPU)とも呼ばれる)602を備える。例えば、プロセッサ602は、シングルチッププロセッサまたはマルチプロセッサによって実装できる。いくつかの実施形態において、プロセッサ602は、コンピュータシステム600の動作を制御する汎用デジタルプロセッサである。メモリ610から読み出された命令を用いて、プロセッサ602は、入力データの受信および操作、ならびに、出力デバイス(例えば、ディスプレイ618)上でのデータの出力および表示を制御する。いくつかの実施形態において、プロセッサ602は、キャッシュクエリ要求の生成を提供することを含む、および/または、提供するために用いられる。
プロセッサ602は、メモリ610と双方向的に接続されており、メモリ610は、第1のプライマリストレージ領域(通例は、ランダムアクセスメモリ(RAM))および第2のプライマリストレージ領域(通例は、リードオンリーメモリ(ROM))を含みうる。当業者に周知のように、プライマリストレージは、一般的な記憶領域として、および、スクラッチパッドメモリとして利用可能であり、また、入力データおよび処理済みデータを格納するために利用可能である。プライマリストレージは、さらに、プロセッサ602上で実行される処理のための他のデータおよび命令に加えて、データオブジェクトおよびテキストオブジェクトの形態で、プログラミング命令およびデータを格納できる。また、当業者に周知のように、プライマリストレージは、通例、機能(例えば、プログラムされた命令)を実行するためにプロセッサ602によって用いられる基本的な動作命令、プログラムコード、データ、および、オブジェクトを備える。例えば、メモリ610は、例えば、データアクセスが双方向である必要があるか、単方向である必要があるかに応じて、後述する任意の適切なコンピュータ読み取り可能な記憶媒体を含みうる。例えば、プロセッサ602は、頻繁に必要になるデータをキャッシュメモリ(図示せず)に直接的かつ非常に迅速に格納し取り出すことができる。
着脱可能マスストレージデバイス612が、コンピュータシステム600にさらなるデータ記憶容量を提供しており、プロセッサ602に対して双方向(読み出し/書き込み)または単方向(読み出しのみ)に接続されている。例えば、ストレージ612は、磁気テープ、フラッシュメモリ、PCカード、携帯型マスストレージデバイス、ホログラフィックストレージデバイス、および、その他のストレージデバイスなどのコンピュータ読み取り可能な媒体も含みうる。固定マスストレージ620も、例えば、さらなるデータ記憶容量を提供しうる。固定マスストレージ620の最も一般的な例は、ハードディスクドライブである。マスストレージ612、620は、一般に、プロセッサ602によって通例はあまり利用されないさらなるプログラミング命令、データなどを格納する。マスストレージ612および620に保持された情報は、必要であれば、仮想メモリとしてのメモリ610(例えば、RAM)の一部に標準的な方式で組み込まれてよいことが理解される。
プロセッサ602がストレージサブシステムにアクセスできるようにすることに加えて、バス614は、その他のサブシステムおよびデバイスへのアクセスを可能にするために用いられてもよい。図に示すように、これらは、ディスプレイ618、ネットワークインターフェース616、キーボード604、および、ポインティングデバイス608、ならびに、必要に応じて、補助入力/出力デバイスインターフェース、サウンドカード、スピーカ、および、その他のサブシステムを含みうる。例えば、ポインティングデバイス608は、マウス、スタイラス、トラックボール、または、タブレットであってよく、グラフィカルユーザインターフェースと相互作用するのに有用である。
ネットワークインターフェース616は、図に示すように、ネットワーク接続を用いて、別のコンピュータ、コンピュータネットワーク、または、遠隔通信ネットワークにプロセッサ602を接続することを可能にする。例えば、ネットワークインターフェース616を通して、プロセッサ602は、方法/処理ステップを実行する過程で、別のネットワークから情報(例えば、データオブジェクトまたはプログラム命令)を受信したり、別のネットワークに情報を出力したりすることができる。情報は、しばしば、プロセッサ上で実行される一連の命令として表され、別のネットワークから受信されたり、別のネットワークへ出力されたりしうる。インターフェースカード(または同様のデバイス)と、プロセッサ602によって実装(例えば、実行/実施)される適切なソフトウェアとを用いて、コンピュータシステム600を外部ネットワークに接続し、標準プロトコルに従ってデータを転送することができる。例えば、本明細書に開示された様々な処理の実施形態は、プロセッサ602上で実行されてもよいし、処理の一部を共有するリモートプロセッサと共に、ネットワーク(インターネット、イントラネットワーク、または、ローカルエリアネットワークなど)上で実行されてもよい。さらなるマスストレージデバイス(図示せず)が、ネットワークインターフェース616を通してプロセッサ602に接続されてもよい。
補助I/Oデバイスインターフェース(図示せず)が、コンピュータシステム600と共に用いられてよい。補助I/Oデバイスインターフェースは、プロセッサ602がデータを送信すること、ならびに、より典型的には、他のデバイス(マイクロホン、タッチセンサ方式ディスプレイ、トランスデューサカードリーダ、テープリーダ、音声または手書き認識装置、バイオメトリクスリーダ、カメラ、携帯型マスストレージデバイス、および、他のコンピュータなど)からデータを受信することを可能にする汎用インターフェースおよびカスタマイズされたインターフェースを含みうる。
いくつかの実施形態において、コンピュータ装置は、1または複数のプロセッサ(CPU)と、入力/出力インターフェースと、ネットワークインターフェースと、メモリとを備える。メモリは、コンピュータ読み取り可能な媒体内の揮発性ストレージデバイス、ランダムアクセスメモリ(RAM)、および/または、リードオンリーメモリ(ROM)またはフラッシュメモリ(フラッシュRAM)などの不揮発性メモリなどの形態を含みうる。メモリは、コンピュータ読み取り可能な媒体の一例である。
コンピュータ読み取り可能な媒体は、永続的および非永続的な媒体、着脱可能および着脱不可能な媒体を含み、任意の技術またはテクノロジーによって情報の格納を実現できる。情報は、コンピュータ読み取り可能なコマンド、データ構造、プログラムモジュール、または、その他のデータであってよい。コンピュータ記憶媒体の例は、以下を含むがこれらに限定されない:相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、その他のタイプのランダムアクセスメモリ、リードオンリーメモリ(ROM)、電気消去可能プログラム可能リードオンリーメモリ(EEPROM)、フラッシュメモリ、または、その他のメモリ技術、CD−ROM、デジタル多機能ディスク(DVD)、または、その他の光学ストレージ、磁気カセット、磁気テープまたは磁気ディスクメモリ、または、その他の磁気ストレージ装置、または、コンピュータにアクセス可能な情報を格納するために利用できる任意のその他の非伝送媒体。本明細書で規定されているように、コンピュータ読み取り可能な媒体は、変調データ信号および搬送波など、一時的なコンピュータ読み取り可能媒体を含まない。
当業者は、本願の実施形態が、技術、システム、または、コンピュータソフトウェア製品として提供されうることを理解されたい。したがって、本願は、完全なハードウェア実施形態、完全なソフトウェア実施形態、もしくは、ソフトウェアおよびハードウェアを組み合わせた実施形態を取りうる。さらに、本願は、コンピュータ動作可能なプログラムコードを含む1または複数のコンピュータ動作可能な記憶媒体(磁気ディスク記憶デバイス、CD−ROM、および、光学記憶デバイスを含むがこれらに限定されない)上に実装されたコンピュータプログラム製品の形態を取りうる。
以上は、本願の実施形態にすぎず、本願を限定することはない。当業者にとって、本願は、様々な変形例および変更例を有しうる。本願の精神および原理の範囲内でなされた任意の変形、等価的な置換、または、改良はすべて、本願の請求項の範囲内に含まれる。
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
適用例1:システムであって、
デバイスからユーザクエリを受信し、前記ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成するよう構成されている受信モジュールと、
前記表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成するよう構成されている変換モジュールと、
キャッシュに格納されている前記キャッシュクエリ要求に対応する検索結果を特定するよう構成されているクエリモジュールと、
前記表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび前記表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、前記キャッシュクエリ要求に対応する前記検索結果の少なくとも一部を抽出するよう構成されている抽出・返送モジュールと、
を備える、システム。
適用例2:適用例1に記載のシステムであって、前記ユーザクエリは、1または複数のクエリキーワードと、前記デバイスに関連付けられている表示タイプ識別子と、を含み、前記表示タイプ識別子は、ページごと表示タイプ識別子を含む、システム。
適用例3:適用例1に記載のシステムであって、前記ユーザクエリは、1または複数のクエリキーワードと、前記デバイスに関連付けられている表示タイプ識別子と、を含み、前記表示タイプ識別子は、カスケード表示タイプ識別子を含む、システム。
適用例4:適用例1に記載のシステムであって、前記ユーザクエリに少なくとも部分的に基づいて前記表示タイプ固有検索要求を生成することは、
前記ユーザクエリに関連付けられている1または複数のクエリキーワードに基づいて、前記表示タイプ固有検索要求に関連付けられているクエリキーワードパラメータを決定し、
デフォルトの開始位置の値に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータを決定し、
前記表示タイプ識別子に関連付けて設定された要求検索結果量に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記要求検索結果量パラメータを決定することを含む、システム。
適用例5:適用例1に記載のシステムであって、前記表示タイプ固有検索要求および前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求を生成することは、
前記表示タイプ固有検索要求に関連付けられている1または複数のクエリキーワードに基づいて、前記キャッシュクエリ要求に関連付けられているクエリキーワードパラメータを決定し、
前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータと、前記キャッシュ粒度とに少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータを決定し、
前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記要求検索結果量パラメータを決定することを含む、システム。
適用例6:適用例5に記載のシステムであって、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータは、1)前記キャッシュ粒度の倍数であること、2)前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以下であること、かつ、3)前記キャッシュ粒度に加算された時に、合計が前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以上になることを含む、システム。
適用例7:適用例1に記載のシステムであって、前記キャッシュクエリ要求に対応する前記検索結果を前記キャッシュ内で特定することは、前記キャッシュに関連付けて格納されているキーと前記キャッシュクエリを比較することを含む、システム。
適用例8:適用例1に記載のシステムであって、前記抽出・返送モジュールは、さらに、前記キャッシュクエリ要求に対応する前記検索結果の前記抽出された少なくとも一部を前記デバイスに送信するよう構成されている、システム。
適用例9:適用例1に記載のシステムであって、前記クエリモジュールは、さらに、
前記キャッシュクエリ要求に対応する前記検索結果が前記キャッシュに格納されていないと判定し、
前記判定に応答して、検索エンジンを用いて、前記キャッシュクエリ要求に対応する前記検索結果を取得し、
前記キャッシュクエリ要求を前記キャッシュに関連付けられているキーとして格納し、
前記キャッシュクエリ要求に対応する前記検索結果を、前記キャッシュに関連付けられている前記キーに対応する値として格納するよう構成されている、システム。
適用例10:適用例1に記載のシステムであって、前記キャッシュ粒度は、履歴ユーザ行動情報に少なくとも部分的に基づいて設定される、システム。
適用例11:適用例1に記載のシステムであって、前記キャッシュ粒度は、複数の表示タイプ固有検索要求のそれぞれに関連付けられている複数の要求検索結果量パラメータに少なくとも部分的に基づいて設定される、システム。
適用例12:方法であって、
デバイスからユーザクエリを受信し、
前記ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成し、
前記表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成し、
キャッシュに格納されている前記キャッシュクエリ要求に対応する検索結果を特定し、
1または複数のプロセッサを用いて、前記表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび前記表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、前記キャッシュクエリ要求に対応する前記検索結果の少なくとも一部を抽出すること、
を備える、方法。
適用例13:適用例12に記載の方法であって、前記ユーザクエリに少なくとも部分的に基づいて前記表示タイプ固有検索要求を生成することは、
前記ユーザクエリに関連付けられている1または複数のクエリキーワードに基づいて、前記表示タイプ固有検索要求に関連付けられているクエリキーワードパラメータを決定し、
デフォルトの開始位置の値に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータを決定し、
前記表示タイプ識別子に関連付けて設定された要求検索結果量に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記要求検索結果量パラメータを決定すること、
を含む、方法。
適用例14:適用例12に記載の方法であって、前記表示タイプ固有検索要求および前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求を生成することは、
前記表示タイプ固有検索要求に関連付けられている1または複数のクエリキーワードに基づいて、前記キャッシュクエリ要求に関連付けられているクエリキーワードパラメータを決定し、
前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータと、前記キャッシュ粒度とに少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータを決定し、
前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記要求検索結果量パラメータを決定すること、
を含む、方法。
適用例15:適用例14に記載の方法であって、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータは、1)前記キャッシュ粒度の倍数であること、2)前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以下であること、かつ、3)前記キャッシュ粒度に加算された時に、合計が前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以上になることを含む、方法。
適用例16:適用例12に記載の方法であって、前記キャッシュクエリ要求に対応する前記検索結果を前記キャッシュ内で特定することは、前記キャッシュに関連付けて格納されているキーと前記キャッシュクエリを比較することを含む、方法。
適用例17:適用例12に記載の方法であって、さらに、前記キャッシュクエリ要求に対応する前記検索結果の前記抽出された少なくとも一部を前記デバイスに送信することを備える、方法。
適用例18:適用例12に記載の方法であって、さらに、
前記キャッシュクエリ要求に対応する前記検索結果が前記キャッシュに格納されていないと判定し、
前記判定に応答して、検索エンジンを用いて、前記キャッシュクエリ要求に対応する前記検索結果を取得し、
前記キャッシュクエリ要求を前記キャッシュに関連付けられているキーとして格納し、
前記キャッシュクエリ要求に対応する前記検索結果を前記キャッシュに関連付けられている前記キーに対応する値として格納すること、
を備える、方法。
適用例19:適用例12に記載の方法であって、前記キャッシュ粒度は、履歴ユーザ行動情報に少なくとも部分的に基づいて設定される、方法。
適用例20:適用例12に記載の方法であって、前記キャッシュ粒度は、複数の表示タイプ固有検索要求に関連付けられている複数の要求検索結果量パラメータに少なくとも部分的に基づいて設定される、方法。
適用例21:コンピュータプログラム製品であって、持続性のコンピュータ読み取り可能な記憶媒体を備え、
デバイスからユーザクエリを受信するための命令と、
前記ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成するための命令と、
前記表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成するための命令と、
キャッシュに格納されている前記キャッシュクエリ要求に対応する検索結果を特定するための命令と、
前記表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび前記表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、前記キャッシュクエリ要求に対応する前記検索結果の少なくとも一部を抽出するための命令と、
を備える、コンピュータプログラム製品。

Claims (21)

  1. システムであって、
    デバイスからユーザクエリを受信し、前記ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成するよう構成されている受信モジュールと、
    前記表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成するよう構成されている変換モジュールと、
    キャッシュに格納されている前記キャッシュクエリ要求に対応する検索結果を特定するよう構成されているクエリモジュールと、
    前記表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび前記表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、前記キャッシュクエリ要求に対応する前記検索結果の少なくとも一部を抽出するよう構成されている抽出・返送モジュールと、
    を備える、システム。
  2. 請求項1に記載のシステムであって、前記ユーザクエリは、1または複数のクエリキーワードと、前記デバイスに関連付けられている表示タイプ識別子と、を含み、前記表示タイプ識別子は、ページごと表示タイプ識別子を含む、システム。
  3. 請求項1に記載のシステムであって、前記ユーザクエリは、1または複数のクエリキーワードと、前記デバイスに関連付けられている表示タイプ識別子と、を含み、前記表示タイプ識別子は、カスケード表示タイプ識別子を含む、システム。
  4. 請求項1に記載のシステムであって、前記ユーザクエリに少なくとも部分的に基づいて前記表示タイプ固有検索要求を生成することは、
    前記ユーザクエリに関連付けられている1または複数のクエリキーワードに基づいて、前記表示タイプ固有検索要求に関連付けられているクエリキーワードパラメータを決定し、
    デフォルトの開始位置の値に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータを決定し、
    前記ユーザクエリに含まれている表示タイプ識別子に関連付けて設定された要求検索結果量に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記要求検索結果量パラメータを決定することを含む、システム。
  5. 請求項1に記載のシステムであって、前記表示タイプ固有検索要求および前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求を生成することは、
    前記表示タイプ固有検索要求に関連付けられている1または複数のクエリキーワードに基づいて、前記キャッシュクエリ要求に関連付けられているクエリキーワードパラメータを決定し、
    前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータと、前記キャッシュ粒度とに少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータを決定し、
    前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記要求検索結果量パラメータを決定することを含む、システム。
  6. 請求項5に記載のシステムであって、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータは、1)前記キャッシュ粒度の倍数であること、2)前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以下であること、かつ、3)前記キャッシュ粒度に加算された時に、合計が前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以上になることを含む、システム。
  7. 請求項1に記載のシステムであって、前記キャッシュクエリ要求に対応する前記検索結果を前記キャッシュ内で特定することは、前記キャッシュに関連付けて格納されているキーと前記キャッシュクエリ要求を比較することを含む、システム。
  8. 請求項1に記載のシステムであって、前記抽出・返送モジュールは、さらに、前記キャッシュクエリ要求に対応する前記検索結果の前記抽出された少なくとも一部を前記デバイスに送信するよう構成されている、システム。
  9. 請求項1に記載のシステムであって、前記クエリモジュールは、さらに、
    前記キャッシュクエリ要求に対応する前記検索結果が前記キャッシュに格納されていないと判定し、
    前記判定に応答して、検索エンジンを用いて、前記キャッシュクエリ要求に対応する前記検索結果を取得し、
    前記キャッシュクエリ要求を前記キャッシュに関連付けられているキーとして格納し、
    前記キャッシュクエリ要求に対応する前記検索結果を、前記キャッシュに関連付けられている前記キーに対応する値として格納するよう構成されている、システム。
  10. 請求項1に記載のシステムであって、前記キャッシュ粒度は、履歴ユーザ行動情報に少なくとも部分的に基づいて設定される、システム。
  11. 請求項1に記載のシステムであって、前記キャッシュ粒度は、複数の表示タイプ固有検索要求のそれぞれに関連付けられている複数の要求検索結果量パラメータに少なくとも部分的に基づいて設定される、システム。
  12. コンピュータによって実行される方法であって、
    デバイスからユーザクエリを受信し、
    前記ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成し、
    前記表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成し、
    キャッシュに格納されている前記キャッシュクエリ要求に対応する検索結果を特定し、
    記表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび前記表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、前記キャッシュクエリ要求に対応する前記検索結果の少なくとも一部を抽出すること、
    を備える、方法。
  13. 請求項12に記載の方法であって、前記ユーザクエリに少なくとも部分的に基づいて前記表示タイプ固有検索要求を生成することは、
    前記ユーザクエリに関連付けられている1または複数のクエリキーワードに基づいて、前記表示タイプ固有検索要求に関連付けられているクエリキーワードパラメータを決定し、
    デフォルトの開始位置の値に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータを決定し、
    前記ユーザクエリに含まれている表示タイプ識別子に関連付けて設定された要求検索結果量に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記要求検索結果量パラメータを決定すること、
    を含む、方法。
  14. 請求項12に記載の方法であって、前記表示タイプ固有検索要求および前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求を生成することは、
    前記表示タイプ固有検索要求に関連付けられている1または複数のクエリキーワードに基づいて、前記キャッシュクエリ要求に関連付けられているクエリキーワードパラメータを決定し、
    前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータと、前記キャッシュ粒度とに少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータを決定し、
    前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記要求検索結果量パラメータを決定すること、
    を含む、方法。
  15. 請求項14に記載の方法であって、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータは、1)前記キャッシュ粒度の倍数であること、2)前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以下であること、かつ、3)前記キャッシュ粒度に加算された時に、合計が前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以上になることを含む、方法。
  16. 請求項12に記載の方法であって、前記キャッシュクエリ要求に対応する前記検索結果を前記キャッシュ内で特定することは、前記キャッシュに関連付けて格納されているキーと前記キャッシュクエリ要求を比較することを含む、方法。
  17. 請求項12に記載の方法であって、さらに、前記キャッシュクエリ要求に対応する前記検索結果の前記抽出された少なくとも一部を前記デバイスに送信することを備える、方法。
  18. 請求項12に記載の方法であって、さらに、
    前記キャッシュクエリ要求に対応する前記検索結果が前記キャッシュに格納されていないと判定し、
    前記判定に応答して、検索エンジンを用いて、前記キャッシュクエリ要求に対応する前記検索結果を取得し、
    前記キャッシュクエリ要求を前記キャッシュに関連付けられているキーとして格納し、
    前記キャッシュクエリ要求に対応する前記検索結果を前記キャッシュに関連付けられている前記キーに対応する値として格納すること、
    を備える、方法。
  19. 請求項12に記載の方法であって、前記キャッシュ粒度は、履歴ユーザ行動情報に少なくとも部分的に基づいて設定される、方法。
  20. 請求項12に記載の方法であって、前記キャッシュ粒度は、複数の表示タイプ固有検索要求に関連付けられている複数の要求検索結果量パラメータに少なくとも部分的に基づいて設定される、方法。
  21. コンピュータプログラムであって、
    デバイスからユーザクエリを受信するための機能と、
    前記ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成するための機能と、
    前記表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成するための機能と、
    キャッシュに格納されている前記キャッシュクエリ要求に対応する検索結果を特定するための機能と、
    前記表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび前記表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、前記キャッシュクエリ要求に対応する前記検索結果の少なくとも一部を抽出するための機能と、
    をコンピュータによって実現させる、コンピュータプログラム。
JP2016536338A 2013-08-21 2014-08-15 キャッシュクエリ要求の生成 Active JP6152226B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201310367225.6 2013-08-21
CN201310367225.6A CN104424199B (zh) 2013-08-21 2013-08-21 搜索方法和装置
US14/459,667 2014-08-14
US14/459,667 US20150058308A1 (en) 2013-08-21 2014-08-14 Generating cache query requests
PCT/US2014/051347 WO2015026667A1 (en) 2013-08-21 2014-08-15 Generating cache query requests

Publications (2)

Publication Number Publication Date
JP2016531367A JP2016531367A (ja) 2016-10-06
JP6152226B2 true JP6152226B2 (ja) 2017-06-21

Family

ID=52481321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016536338A Active JP6152226B2 (ja) 2013-08-21 2014-08-15 キャッシュクエリ要求の生成

Country Status (7)

Country Link
US (1) US20150058308A1 (ja)
EP (1) EP3036662B1 (ja)
JP (1) JP6152226B2 (ja)
CN (1) CN104424199B (ja)
HK (1) HK1204700A1 (ja)
TW (1) TWI613555B (ja)
WO (1) WO2015026667A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2524075A (en) * 2014-03-14 2015-09-16 Ibm Advanced result cache refill
US10417345B1 (en) * 2014-12-22 2019-09-17 Amazon Technologies, Inc. Providing customer service agents with customer-personalized result of spoken language intent
CN104794227B (zh) * 2015-05-04 2018-01-02 郑州悉知信息科技股份有限公司 一种信息匹配方法及装置
CA2985345A1 (en) 2015-05-08 2016-11-17 FlowJo, LLC Data discovery nodes
US20170116291A1 (en) * 2015-10-27 2017-04-27 Adobe Systems Incorporated Network caching of search result history and interactions
CN105721538A (zh) * 2015-12-30 2016-06-29 东莞市青麦田数码科技有限公司 数据访问的方法和装置
US10452395B2 (en) 2016-07-20 2019-10-22 International Business Machines Corporation Instruction to query cache residency
US10521350B2 (en) 2016-07-20 2019-12-31 International Business Machines Corporation Determining the effectiveness of prefetch instructions
US10621095B2 (en) * 2016-07-20 2020-04-14 International Business Machines Corporation Processing data based on cache residency
US10169239B2 (en) 2016-07-20 2019-01-01 International Business Machines Corporation Managing a prefetch queue based on priority indications of prefetch requests
US11030271B2 (en) 2016-10-31 2021-06-08 Microsoft Technoiogy Licensing, LLC Content caching for fast load time
CN107562803B (zh) * 2017-08-08 2020-10-30 上海数据交易中心有限公司 数据供应系统及方法、终端
EP3451249A1 (en) * 2017-09-05 2019-03-06 Amadeus S.A.S. Query-based identifiers for cross-session response tracking
FR3070781B1 (fr) * 2017-09-05 2022-01-21 Amadeus Sas Identifiants bases sur une interrogation pour le suivi de reponses de sessions croisees
US11004016B2 (en) 2017-09-05 2021-05-11 Amadeus S.A.S. Query-based identifiers for cross-session response tracking
CN108090153B (zh) * 2017-12-11 2020-04-14 深圳云天励飞技术有限公司 一种搜索方法、装置、电子设备及存储介质
CN113660336B (zh) * 2018-03-30 2024-03-15 北京忆芯科技有限公司 利用kv存储设备的云计算与雾计算系统
CN110580241B (zh) * 2018-05-22 2023-09-01 微软技术许可有限责任公司 对索引文件进行预热
CN111737615A (zh) * 2020-05-14 2020-10-02 北京百度网讯科技有限公司 获取页面资源的方法、装置、电子设备以及可读存储介质
CN111813715A (zh) * 2020-06-29 2020-10-23 湖南快乐阳光互动娱乐传媒有限公司 一种基于被访问次数的数据缓存方法和装置
CN112507199B (zh) * 2020-12-22 2022-02-25 北京百度网讯科技有限公司 用于对搜索系统进行优化的方法和装置
CN113239278A (zh) * 2021-06-08 2021-08-10 阿波罗智联(北京)科技有限公司 信息展示方法、装置、电子设备以及存储介质
US11789959B2 (en) * 2021-10-06 2023-10-17 S&P Global Inc. Data visualization method
US11822548B2 (en) * 2021-12-07 2023-11-21 International Business Machines Corporation Data warehouse framework for high performance reporting
CN114896280B (zh) * 2022-03-22 2024-06-18 杭州未名信科科技有限公司 一种数据查询方法和系统

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3478195B2 (ja) * 1999-08-26 2003-12-15 日本電気株式会社 データベース検索結果表示システム、方法及び記録媒体
US7509404B2 (en) * 2000-03-08 2009-03-24 Oracle International Corporation Methods and systems for partial page caching of dynamically generated content
US20020103920A1 (en) * 2000-11-21 2002-08-01 Berkun Ken Alan Interpretive stream metadata extraction
US20020111992A1 (en) * 2000-12-18 2002-08-15 Copeland George P. JSP composition in a cache for web applications with dynamic content
JP4689145B2 (ja) * 2003-01-21 2011-05-25 大日本スクリーン製造株式会社 情報閲覧システム、プログラムおよび情報閲覧方法
GB0305145D0 (en) * 2003-03-06 2003-04-09 Imp College Innovations Ltd Improvements to internet site architecture
US7331038B1 (en) * 2003-07-02 2008-02-12 Amazon.Com, Inc. Predictive prefetching to improve parallelization of document generation subtasks
JP4495783B2 (ja) * 2004-06-25 2010-07-07 株式会社野村総合研究所 データベース利用システム
WO2006127480A2 (en) * 2005-05-20 2006-11-30 Perfect Market Technologies, Inc. A search apparatus having a search result matrix display
JP5013789B2 (ja) * 2006-09-12 2012-08-29 ヤフー株式会社 ウェブページ生成システム、ウェブページ生成装置、およびウェブページ生成方法
US7505973B2 (en) * 2007-01-16 2009-03-17 Microsoft Corporation Efficient paging of search query results
US20080235205A1 (en) * 2007-02-21 2008-09-25 Fein Gene S Database Search Results User Interface
US7720843B2 (en) * 2007-03-27 2010-05-18 Andrew Thomas Brunner Real-time end-user aware interactive search utilizing layered approach
US8176440B2 (en) * 2007-03-30 2012-05-08 Silicon Laboratories, Inc. System and method of presenting search results
US8326828B2 (en) * 2008-01-15 2012-12-04 International Business Machines Corporation Method and system for employing a multiple layer cache mechanism to enhance performance of a multi-user information retrieval system
CN101539918A (zh) * 2008-03-19 2009-09-23 天下互联(北京)科技有限公司 一种互联网搜索方法及系统
CN101420490A (zh) * 2008-05-30 2009-04-29 北京天腾时空信息科技有限公司 一种数据的读取方法和装置
US9165044B2 (en) * 2008-05-30 2015-10-20 Ethority, Llc Enhanced user interface and data handling in business intelligence software
IL199762A0 (en) * 2008-07-08 2010-04-15 Dan Atsmon Object search navigation method and system
WO2010041516A1 (ja) * 2008-10-08 2010-04-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、文書検索システム、文書検索方法およびプログラム
CN101661459B (zh) * 2009-10-19 2011-08-31 中国电信股份有限公司 网络文档资源提供方法、平台及系统
US8909863B2 (en) * 2009-11-16 2014-12-09 Microsoft Corporation Cache for storage and/or retrieval of application information
CN102375857B (zh) * 2010-08-24 2014-08-13 腾讯科技(深圳)有限公司 一种搜索方法和装置
US9135358B2 (en) * 2010-10-20 2015-09-15 Microsoft Technology Licensing, Llc Result types for conditional data display
CN102541848A (zh) * 2010-12-08 2012-07-04 卓望数码技术(深圳)有限公司 基于手机浏览器的页面加载方法、装置、系统和服务器
US9009253B2 (en) * 2011-02-16 2015-04-14 Yahoo! Inc. Optimizing server resources using multiple retry for high traffic websites
US9367634B2 (en) * 2012-01-19 2016-06-14 Brightedge Technologies, Inc. Optimizing location and mobile search
CN102637201A (zh) * 2012-03-14 2012-08-15 南京新与力文化传播有限公司 基于异步数据传输的网页加载方法
CN102929926A (zh) * 2012-09-20 2013-02-13 百度在线网络技术(北京)有限公司 一种基于浏览内容的取词搜索方法及装置
US9785786B2 (en) * 2012-09-24 2017-10-10 Protegrity Corporation Privacy preserving data search
CN102902815B (zh) * 2012-10-23 2016-01-13 北京奇虎科技有限公司 用于搜索引擎的结果展示系统
US20140129545A1 (en) * 2012-11-02 2014-05-08 Google Inc. Sorting search results
US9122755B2 (en) * 2013-02-26 2015-09-01 Sap Se Instantaneous incremental search user interface

Also Published As

Publication number Publication date
EP3036662B1 (en) 2019-04-24
CN104424199B (zh) 2018-07-24
WO2015026667A1 (en) 2015-02-26
JP2016531367A (ja) 2016-10-06
CN104424199A (zh) 2015-03-18
TW201508518A (zh) 2015-03-01
EP3036662A1 (en) 2016-06-29
HK1204700A1 (en) 2015-11-27
TWI613555B (zh) 2018-02-01
US20150058308A1 (en) 2015-02-26

Similar Documents

Publication Publication Date Title
JP6152226B2 (ja) キャッシュクエリ要求の生成
US11687600B2 (en) Ranking search results based upon content creation trends
JP6266080B2 (ja) 類似性スコアに基づきコンテンツアイテムと画像とのマッチングを評価する方法、およびシステム
US10498582B2 (en) Related content display associated with browsing
US11822560B2 (en) Rank query results for relevance utilizing external context
US10296538B2 (en) Method for matching images with content based on representations of keywords associated with the content in response to a search query
JP5661200B2 (ja) 検索情報の提供
JP6404351B2 (ja) 商品情報を通信および提示するための方法、装置、および、システム
US9721015B2 (en) Providing a query results page
WO2015172490A1 (zh) 一种提供扩展搜索项的方法与装置
US8719733B2 (en) Selecting a navigation hierarchical structure diagram for website navigation
US8935480B1 (en) Efficiently caching data at a client device
US10558702B2 (en) Unified storage system for online image searching and offline image analytics
WO2014011365A2 (en) Navigating among content items in a set
WO2011156605A2 (en) A system and methods thereof for enhancing a user's search experience
US20120102062A1 (en) Automatic catalog search preview
US20160077673A1 (en) Intelligent Canvas
US8898297B1 (en) Device attribute-customized metadata for browser users
CN105283843B (zh) 可嵌入的媒体内容搜索微件
WO2019041500A1 (zh) 分页的实现方法、装置、计算机设备及存储介质
US10909170B2 (en) Method for processing and rendering feed-like based images for mobile devices
RU2693193C1 (ru) Автоматизированное извлечение информации
US20170140055A1 (en) Thematic web corpus
US8996512B2 (en) Search engine optimization using a find operation
US20160179821A1 (en) Searching Inside Items

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170131

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170419

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: 20170509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170526

R150 Certificate of patent or registration of utility model

Ref document number: 6152226

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250