JP2015532493A - ネットワークにおける検索可能なデータに対するインデックス構成 - Google Patents

ネットワークにおける検索可能なデータに対するインデックス構成 Download PDF

Info

Publication number
JP2015532493A
JP2015532493A JP2015536973A JP2015536973A JP2015532493A JP 2015532493 A JP2015532493 A JP 2015532493A JP 2015536973 A JP2015536973 A JP 2015536973A JP 2015536973 A JP2015536973 A JP 2015536973A JP 2015532493 A JP2015532493 A JP 2015532493A
Authority
JP
Japan
Prior art keywords
data
partition
size
storage allocation
data field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015536973A
Other languages
English (en)
Inventor
ゴールドバーグ、ジョナサン・マイケル
ハンドラー、ジョナサン・ブレーク
マクハニ、アシフ・マンソール・アリ
ンウォーカー、エケチ・カール・エドズル
Original Assignee
エー9.・コム・インコーポレーテッド
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
Priority claimed from US13/650,931 external-priority patent/US9507750B2/en
Priority claimed from US13/650,961 external-priority patent/US9047326B2/en
Application filed by エー9.・コム・インコーポレーテッド filed Critical エー9.・コム・インコーポレーテッド
Publication of JP2015532493A publication Critical patent/JP2015532493A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • 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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

コンピューティングデバイスを使用するエンティティは、検索可能なデータを、索引付けおよび記憶されるようにネットワークサービスにアップロードすることができる。データは、複数のデータフィールドを含むことができ、各データフィールドは、1または複数の関連付けされた値を有する。ネットワークサービスは、データフィールドおよびそれらの関連付けられた値を分析して、データフィールドに対するデータフィールドタイプ、およびデータフィールドに対する有効にされるべき検索オプションを判定することができる。データフィールドタイプおよび検索オプションに少なくとも部分的に基づいて、ネットワークサービスは、検索インデックス構成/スキーマを生成することができる。生成された検索インデックス構成/スキーマに少なくとも部分的に基づいて、ネットワークサービスは、データに対する検索インデックスを生成することができる。いくつかの実施形態では、ネットワークサービスはまた、検索インデックスと比較可能なフォーマットにデータを変換することができる。【選択図】 図3

Description

コンピューティングデバイスは、インターネットなどのネットワーク上で通信するのに使用されることが多い。サービスプロバイダによって供給されるネットワークベースのサービスは、ますます当たり前となっている。コンピューティングデバイスにより使用/読み出されることになる検索可能なデータを記憶すること、または、コンピューティングデバイスに追加的な処理能力を提供すること、などのサービスを提供することができるネットワークベースのサービスに接続するのに、コンピューティングデバイスが頻繁に使用される。検索可能なデータをネットワークベースで記憶することについて、コンピューティングデバイスのユーザは通常、それらのデータに対する構成および/またはフォーマットを選択する必要があり、それによって、それらのデータを、ネットワークベースのサービスによって索引付けおよび記憶することができる。従来のアプローチは通常、ユーザが、それらのデータに対する適切な構成を判定することを必要とする。従来のアプローチはまた、ユーザのデータが従う必要があるフォーマットを要求することがあり、それによって、ユーザが、それらのデータをそのフォーマットに変換することを必要とする。このことは、記憶および検索のためにネットワークベースのサービスを使用することを望むユーザにとって不便であり、面倒であり、または困難であることがあり、それによって、ユーザ経験全体を低減させる。
本開示に従った種々の実施形態が、以下の図面を参照して説明される。
種々の実施形態の態様を利用することができる例示的な環境を示す図である。 ネットワーク化された環境において、検索可能なデータに対するインデックス構成についての例示的なシステムの実施形態を示す図である。 ネットワーク化された環境において、検索可能なデータに対するインデックス構成を利用することができる、例示的なウェブブラウジング環境を示す図である。 種々の実施形態に従って生成することができる、例示的な検索インデックスを示す図である。 ネットワーク化された環境における検索可能なデータに対するインデックス構成についての例示的な方法の実施形態を示す図である。 種々の実施形態の態様を実現するのに使用することができる例示的なデバイスを示す図である。 図6で示したデバイスなどのクライアントデバイスの例示的な構成要素を示す図である。 種々の実施形態を実現することができる環境を示す図である。
少なくとも1つのネットワーク上で受信されるデータに対する検索インデックスを生成するのに使用することができる、インデックス構成を生成するシステムおよび方法が説明される。少なくともいくつかの実施形態は、コンピューティングデバイスが、ネットワーク(例えば、インターネット)上で、ネットワークサービス(すなわち、ネットワークサービスプロバイダ)により提供される記憶域割り当て上に、データをアップロードすることを可能にする。ネットワークサービスは、アップロードされたデータを分析して、複数のデータフィールドにおける各データフィールドに対するデータフィールドのタイプ(すなわち、データフィールドタイプ)を判定することができる。ネットワークサービスは、アップロードされたデータを分析して、アップロードされたデータに含まれる複数のデータフィールドにおける各データフィールドに対する1または複数の検索オプションを有効にするか否かを判定することができる。
少なくともいくつかの実施形態は、コンピューティングデバイスが、ネットワーク(例えば、インターネット)上で、ネットワークサービス(すなわち、ネットワークサービスプロバイダ、ネットワークベースのサービスなど)により提供される記憶域割り当て上に、データをアップロードすることを可能にする。1または複数のユーザ/エンティティ(例えば、1または複数のコンピューティングデバイスを使用して)は、ネットワークサービスによって提供することができる、検索インデックスを利用してネットワーク上でアップロードされたデータを検索することができる。
いくつかの実施形態では、アップロードされたデータは、複数のデータフィールドを含むことができる。ネットワークサービスは、アップロードされたデータを分析して、複数のデータフィールドにおける各データフィールドに対するデータフィールドのタイプ(すなわち、データフィールドタイプ)を判定することができる。例えば、各データフィールドは、整数型、テキスト型、またはリテラル型を含むタイプのフィールドとすることができる。
さらに、ネットワークサービスは、アップロードされたデータを分析して、アップロードされたデータに含まれる複数のデータフィールドにおける各データフィールドに対する1または複数の検索オプションを有効にするか否かを判定することができる。例えば、ネットワークサービスは、各それぞれのデータフィールドに対し、生成されることになる検索インデックスにおけるそれぞれのデータフィールドを含むオプションを有効にするか否かを判定することができる。ネットワークサービスはまた、各それぞれのデータフィールドに対し、それぞれのデータフィールドに対するファセット数を算出するオプションを有効にするかを判定することができる。さらに、ネットワークサービスは、各それぞれのデータフィールドに対し、検索クエリに応答して、それぞれのデータフィールドに関連付けられた値を返す/提供するオプションを有効にするかを判定することができる。
いくつかの実施形態では、ネットワークサービスは、判定されたデータフィールドタイプ(複数可)および有効にされるべき検索オプション(複数可)に少なくとも部分的に基づいて、データに対するインデックス構成(すなわち、検索インデックス構成、スキーマ、インデックス設定など)を生成することができる。ネットワークサービスは、インデックス構成に少なくとも部分的に基づいて、データに対する検索インデックスを生成することができる。
種々の他の機能および利点は、種々の実施形態に従って提供されるように、以下、説明および提案される。
図1は、種々の実施形態の態様を利用することができる、例示的な環境100を示す。例示的な環境100は、少なくとも1つのコンピューティングデバイス102、ネットワーク104(例えば、インターネット、イントラネット、ローカルネットワーク、ローカルエリアネットワークなど)、およびネットワークサービス106(すなわち、ネットワークサービスプロバイダ、ネットワークベースのサービスなど)を備えることができる。少なくとも1つのコンピューティングデバイス102を、ネットワーク104上でネットワークサービス106に通信可能に接続することができる。いくつかの実施形態では、コンピューティングデバイス102は、インターネットなどのネットワーク104なしで、ネットワークサービス106と通信することができる。図1に示すように、少なくとも1つのコンピューティングデバイス102のユーザ108、または他のエンティティ(例えば、個人、会社、組織、グループなど)108も存在してもよい。ユーザまたはエンティティ108は、ネットワーク104上で、少なくとも1つのコンピューティングデバイス102からネットワークサービス106にデータ110を通信することができる(および、その逆も同様である)。
いくつかの実施形態では、ネットワークサービス106は、ネットワーク104に接続された1もしくは複数のホストもしくはサーバを備えることができ、および/またはそれらを利用することができる。例えば、ネットワークサービス106は、記憶域スペースを、デバイス102のユーザまたは別のエンティティ(複数可)(例えば、会社、組織、グループ、個人など)108などの顧客に賃貸しすることができる。したがって、コンピューティングデバイス102のユーザ/エンティティ108は、ネットワーク104を使用して、ネットワークサービス106上に、デバイス102からのデータを記憶することができる。言い換えると、ユーザ/エンティティ108および/またはデバイス102は、ネットワークサービス106を介して、ネットワークベースのコンピューティング記憶装置を利用することができる。
一例では、図1に示すように、コンピューティングデバイス102は、データ110を、ネットワークサービス106に記憶されるようにネットワーク104上で送信することができる。データ110は、検索、データベースの記憶、アプリケーションの実行、仮想マシンの実行、オペレーティングシステムの実行のためなど、ネットワークベースのコンピューティングにおいて利用される任意のデータとすることができる。コンピューティングデバイス102は、データ110を、サービス106によって提供される記憶域割り当て上に記憶されるように送信することができる。例えば、ユーザ/エンティティ108は、サービス106上の記憶域スペースを購入または賃借りすることができ、ならびに、記憶域割り当てが、ユーザ/エンティティ108に割り当ておよび割り振られ得る。いくつかの実施形態では、ユーザ/エンティティ108は、サービス106上で、特定のアカウントおよび/または記憶域割り当てを有することができ、エンティティ108に割り当ておよび割り振りされた記憶域スペース(例えば、記憶域割り当て)を、エンティティ108に対するアカウントに関連付けることができる。
エンティティ108はまた、ネットワークサービス106に、データ110に対する検索インデックスを提供することを望む場合がある。従来のアプローチは通常、エンティティ108が最初に、索引付けられることになるデータ110に対する構成(すなわち、インデックス構成、スキーマ、インデックス設定など)を提供することを必要とし、または、従来のアプローチは、エンティティのデータ110が従う必要がある構成/フォーマット(例えば、検索データフォーマット(SDF))を必要とすることがあり、したがって、エンティティ110に、そのデータ110を必要とされる構成に変換することを要求する。しかしながら、このことは、エンティティ108にとって不便であり、面倒であり、または困難であり得る。
いくつかの実施形態では、エンティティ108は、データ110をネットワークサービス106に送信することができ、ならびに、ネットワークサービス106は自動的に(すなわち、エンティティ108からの命令または要求なしに)、データ110を分析し、およびデータ110に対するインデックス構成(例えば、検索インデックス構成、検索インデックススキーマなど)を生成することができる。例えば、いくつかの実施形態では、ネットワークサービス106は、データ110に含まれる1または複数のデータフィールドに対するデータフィールド112のタイプを判定し、およびデータ110に含まれる1または複数のデータフィールドに対して有効とされるべき検索オプション114を判定することによって、データ110を分析することができる。
データフィールド112のタイプを判定することに関して、データ110(例えば、文書、ファイルなど)を、データフィールドの整数型、データフィールドのリテラル型、またはデータフィールドのテキスト型などに関連付けることができる、複数のデータフィールドタイプが存在することができる。いくつかの実施形態では、データ110は、複数のデータフィールドを含むことができ、各データフィールドは値を含むことができる(例えば、データフィールド「名前」は、「ABCDブランドのシャツ」の値を有することができ、データフィールド「価格」は、「$20」の値を有することができるなど)。ネットワークサービス106は、データ110に含まれる複数のデータフィールドを分析して、その複数における各データフィールドに対するデータフィールドタイプを判定することができる。
例えば、各データフィールドに対し、ネットワークサービス106は、各それぞれのデータフィールドが、指定された整数量閾値を上回る量の整数を含むか(例えば、データフィールド「価格」の値が全て整数)を判定することができ、そうである場合、そのそれぞれのデータフィールドを、整数のデータフィールドタイプであると判定することができる。ネットワークサービス106はまた、例えば、指定された下限リテラル量閾値を上回るが、指定された上限リテラル量閾値未満の量のアルファベット文字を有するデータフィールドに関連付けられた値、指定されたリテラル相違量閾値未満であるデータフィールドに関連付けられたいくつかの相違する値、指定されたリテラル相違割合(%)閾値未満である相違する値の割合(%)、または指定されたリテラル長閾値未満である長さの値、の少なくとも1つを判定することによって、データフィールドがリテラルのデータフィールドタイプのフィールドであるかを判定することができる。いくつかの実施形態では、ネットワークサービス106は例えば、データフィールドの値の長さ、データフィールドの値における相違する値の頻度および/または割合(%)を考慮して、テキスト型のフィールドであるとしてデータフィールドを識別することができ、データフィールドの値において多くの相違する値が存在し、およびデータフィールドの値が非常に長い(例えば、閾値を上回る多数のアルファベット文字を有する)場合、データフィールドはテキスト型のフィールドである可能性が高い。いくつかの実施形態では、データフィールドが整数型、リテラル型のフィールドでない場合、データフィールドはテキスト型のフィールドとすることができる。
検索オプション114を判定することに関して、ネットワークサービス106は、データ110(のデータフィールド)に対して有効にされるべき1または複数の検索オプション114を判定することができる。例えば、データ110に含まれるデータフィールドに対するデータフィールドタイプを判定したら、ネットワークサービス106は、生成されることになる検索インデックスにデータフィールドを含めるオプションを有効にするか否か、データフィールドに対するファセット数を算出するオプションを有効にするか否か、および/または、データタイプに対する検索値を返す/提供するオプションを有効にするか否か、を判定することができる。
例えば、データフィールドに対するデータフィールドタイプがテキストであると判定された(例えば、データフィールドが「製品説明」であり、および値が長い節である)場合、ネットワークサービス106は、検索インデックスにデータフィールド(および値)を含めないオプションを選択することができる。別の例では、整数データフィールドタイプを有するデータフィールドに対し(例えば、データフィールドが「製造年」であり、および値が1年である)、ネットワークサービス106は、生成される検索インデックスにデータフィールドを含めるオプションを有効にすることを選択することができ、および、サービス106は、データフィールドに対するファセット数を算出するオプションを有効にすることができる。ファセット数は、いくつの検索結果が、データフィールドに対する或るカテゴリに分類されるかの数とすることができる。例えば、データフィールドが「製造年」である場合、ネットワークサービス106は、いくつの検索結果が或るカテゴリに関連付けられるかを示す、ファセット数を提供することが理にかなっているかを判定することができ、例えば、「1984(23)、2002(12)、2010(18)」は、「製造年」データフィールドに関して、23の検索結果が「1984」に関連付けられ、12の検索結果が「2002」に関連付けられ、および18の検索結果が「2010」に関連付けている、ファセット数の例を示す。
いくつかの実施形態では、ネットワークサービス106はまた、データフィールドに対する値を返すことを有効にすることを決定することができる。例えば、全ての検索可能なデータフィールド(および値)が、検索要求に応答して返される(例えば、読み出され、および提示される)必要はない。ネットワークサービス106は、データフィールドに対する値を返すか否かを決定することができる。
ここで、データ110に対する構成を生成することに目を向けると、ネットワークサービスは自動的に(すなわち、エンティティ108から指示なしに)、データ110に対する構成(例えば、検索インデックス構成、スキーマなど)を生成することができる。いくつかの実施形態では、構成は、少なくとも部分的には、どのようにデータ110を索引付けするかを判定することを補助することができ、インデックス構成は少なくとも部分的には、どのようにデータ110が索引付けされるかを決定することができる。構成またはスキーマは、データ110に含まれる各データフィールドに対するデータフィールドタイプを指定することができ、各データフィールドが検索可能であるかを示し、各データフィールドがランク付け可能であるか(例えば、ソート可能であるか)、および、インデックスを構築するのに有用である他の類似の情報を示すことができる。索引付けされるべきデータ110に対する構成を生成することに続いて、ネットワークサービス106は、生成された構成に少なくとも部分的に基づいて、データ110に対する検索インデックスを生成することができる。
図2は、ネットワーク化された環境において検索可能なデータに対するインデックス構成を利用することができる、例示的なウェブブラウジング環境200を示す。例示的なウェブブラウジング環境200は、ウェブブラウザなどの、アプリケーションによってレンダリングされている例示的なウェブページ202を備えることができる。この例では、ウェブページ202を、ドメインABCD.comに関連付けられたネットワークサービスによって提供することができる。
ユーザ/エンティティ(例えば、ネットワークサービスの顧客)は、小売業者であり得、および、例えば、シャツを販売することに関連するデータをアップロードすることができる。データを、ネットワークサービスによって索引付けおよび記憶することができ、ならびに、ユーザ/エンティティの潜在的な顧客などの他の者が検索可能とすることができる。ネットワークサービスは、データを分析して、データに含まれるデータフィールドの各々に対するデータフィールドのタイプ(すなわち、データフィールドタイプ)を判定することができる。例えば、シャツを販売することに関連するデータは、「色」206、「サイズ」208、「価格」210、「説明」および他のフィールドなどのデータフィールドを含むことができる。ネットワークサービスは、各データフィールドに対する値を分析して、各それぞれのデータフィールドに対するタイプを判定することができる。ネットワークサービスはまた、1または複数のオプション(例えば、検索オプション)を、各データフィールドに対して有効とするかを判定することができる。ネットワークサービスは続いて、索引付けされることになるデータに対する構成/スキーマを生成することができる。そして、ネットワークサービスは、構成/スキーマに基づいて、データに対するインデックスを生成することができる。
例えば、ネットワークサービスは、データフィールド「色」を識別することができ、その値(例えば、「赤」、「青」、「白」、「緑など)がアルファベット/リテラルであることを判定することができ、および、「色」データフィールドのタイプをリテラル型として識別し得る。(この例では、「色」データフィールドに関連付けられたデータ、および値(例えば、「赤」、「青」、「白」、「緑」など)を、エンティティによってアップロードすることができる)。別の例では、ネットワークサービスは、アップロードされたデータの少なくとも一部における「サイズ」データフィールドを識別することができ、および、「サイズ」データフィールドに含まれる値が数値であることを判定することができる。この例では、ネットワークサービスは、「サイズ」データフィールドが整数型であることを判定し得る。さらなる例では、ネットワークサービスは、アップロードされたデータの少なくとも一部における「説明」データフィールドに対する値を識別することができ、ならびに、値が数字とアルファベット文字との両方を含むこと、値が文字の数が長いこと、および/または、値が相違する用語/語句/記号を含むこと、を判定し得る。この例では、ネットワークサービは、「説明」データフィールドがテキスト型であることを判定してもよい。
検索オプションに関して、ネットワークサービスは、データフィールドの各々に対して、生成されることになる検索インデックスにそれぞれのデータフィールドを含めるオプションを有効にするか否かを判定することができる。例えば、いくつかの実施形態では、「説明」データフィールド(および対応する値)を、検索インデックスから除外することができる。そうである場合、クエリが検索インデックスに関して実行されるとき、クエリは「説明」データフィールドを検索しない。しかしながら、いくつかの実施形態は、検索インデックスに「説明」データフィールドおよび値を含めることができ、および含める。
さらに、ネットワークサービスは、各データフィールドに対するファセット数を算出するオプションを有効にするか否かを判定することができる。上述のように、ファセット数は、検索クエリに一致したいくつの結果が、特定のデータフィールドに対する値(または値の範囲)を有するかを示す。例えば、図2に示すように、「赤」の値を有する「色」データフィールドは、23のファセット数を有し(すなわち、「赤」のシャツに対して23の検索結果)、「色」データフィールドの「青」の値は、28のファセット数を有する(すなわち、「青」のシャツに対して28の検索結果)、などである。いくつかの実施形態では、値は重複することがある(すなわち、正確に一致しなくてもよい)。例えば、青および赤のストライプを有するシャツを、「青」および「赤」の両方の値に関連付けることができ、ならびに/または他の値に関連付けることができる。いくつかの実施形態では、ネットワークサービスは、ファセット数をデータフィールドのいくつかに対して算出すべきであると判定することができるが、必ずしもデータフィールドの全てに対してではない。例えば、ネットワークサービスは、「色」、「サイズ」および「価格」に対するファセット数が存在すべきであるが、「説明」に対しては、そうではないことを判定することができる。
さらに、ネットワークサービスは、データフィールドに対する値を返すことを有効にするか否かを判定することができる。例えば、データに含まれるデータフィールド「内部製品識別番号」、すなわちエンティティに対して内部にある製品識別番号であり、エンティティの顧客に見られることを意図していないデータフィールドの値が存在することができ、したがって、ネットワークサービスは、そのようなデータフィールドに対する値を返すことを有効にしないように決定することができる。
追加のオプション、ならびに当業者が認識する他の項目に関連するデータが存在し得る。例えば、ネットワークサービスは、データフィールドをランク付け可能(例えば、ソート可能)とするオプションを有効にするか否かを判定することができる。図2を参照して、いくつかの実施形態では、「価格」データフィールドを、その値(例えば、最低価格から最高価格まで、最高価格から最低価格までなど)によって、ランク付け/ソートすることができ、および、「色」データフィールドを、アルファベット順にソートすることができる(図2では示さない)、などである。別の例では(図示しない)、音楽、ビデオ、本、写真などのメディアファイルに関連するデータが存在することができる。メディアファイルに対する例示的なデータフィールドは、「タイトル」、「アーチスト/作者」、「作成年」、「価格」、「評価」などを含むことができるが、それらに限定されない。
データに含まれるデータフィールドのタイプ、およびデータに含まれるデータフィールドに対する1または複数の検索オプションを判定したら、ネットワークサービスは、データに対する構成(すなわち、検索インデックス構成、スキーマなど)を生成することができ、構成を生成することは、判定されたデータフィールドタイプおよび検索オプションに少なくとも部分的に基づいている。
構成を生成したことに続いて、ネットワークサービスは、生成された構成に少なくとも部分的に基づいて、データに対する検索インデックスを生成することができる。したがって、エンティティにより提供されるデータを、ネットワークサービスに記憶することができ、およびネットワークサービスにより生成されたデータに対する検索インデックスとともに記憶することができる。
図3は、ネットワーク化された環境において、検索可能なデータに対するインデックス構成についての例示的なシステムの実施形態300を示す。例示的なシステムの実施形態300は、システムコントローラ302、少なくとも1つの通信送受信機304、データフィールドタイプアナライザ306、検索オプションアナライザ308、インデックス構成ジェネレータ310、インデックスジェネレータ312、および少なくとも1つの記憶域割り当て314を備えることができる。
システムコントローラ302は、ネットワーク化された環境において、システムが検索可能なデータに対するインデックス構成についての種々の動作を実行することを促進することができる。システムコントローラ302は、少なくとも1つの通信送受信機304と通信して、システム300の外部の1もしくは複数のソースへのデータ送信および/またはそれらからのデータ受信を促進し、ならびにシステム間でのデータ通信を促進することができる。
通信送受信機304を介してシステム300により受信されたデータ(例えば、エンティティから)を、データフィールドタイプアナライザ306によって分析して、データに含まれるデータフィールドの各々に関連するタイプを判定することができる。また、データを、検索オプションアナライザ308によって分析して、データに含まれるデータフィールドの各々に関して1または複数の検索オプションを有効にするか否かを判定することができる。判定されたデータフィールドタイプおよび1または複数の判定された検索オプションに少なくとも部分的に基づいて、インデックス構成ジェネレータ310は、検索インデックス構成/スキーマを生成することができる。生成された検索インデックス構成/スキーマに少なくとも部分的に基づいて、インデックスジェネレータ312は、データに対する検索インデックスを生成することができる。データおよびデータに対して生成された検索インデックスを、1または複数の記憶域割り当て314上に記憶することができる。
例示的なシステム300の種々の構成要素および/または一部を、ハードウェア、ソフトウェア、または両方の組み合わせとして実現することができることが企図される。例えば、システム300の種々の部分を、回路、プロセッサ、アプリケーション、プログラミングコードの一部、アルゴリズム、またはそれらの任意の組み合わせなどを介して実現することができる。また、図3は、例であり、および、単に例示的な目的のために使用されることが意図されることが企図される。例えば、種々の構成要素は、図3に従って構成される必要はない。いくつかの実施形態では、種々の構成要素は、緊密に相互に結合される必要はなく、代わりに、さらなる分散型システムにわたって分散することができる。例えば、インデックスジェネレータなどの構成要素は、別個の/異なるネットワークおよび/またはシステム上に存在することができるが、他の構成要素への通信可能な接続(複数可)をいまだに維持することができる。
図4は、本開示の種々の実施形態に従って生成することができる、例示的な検索インデックス400を示す。図4を参照して、検索インデックスにおいて、ルートノード402が存在することができる。図4の例では、Tシャツの小売業者などのエンティティによってデータをアップロードすることができる。データは、エンティティが販売で購入可能としたTシャツ(ルートノード402)に関する情報に対応することができる。Tシャツに関連するデータに対するデータフィールドを表す親ノード(例えば、404、406、408)が存在することができる。例えば、Tシャツは、色データフィールド404、サイズデータフィールド406、および価格データフィールド408を有することができる。
図4の例を続けると、データフィールドは、各それぞれのデータフィールド内の値を表す、子ノード(例えば、410、412、414、416、418)を有することができる。例えば、少なくとも2つの色(赤410および青412)、1つのサイズ(ミディアム414)、および2つの価格帯($10未満416および$10〜$20 418)が存在することができる。また、データフィールドおよび値の1または複数に対応することができる、検索結果/項目の組(例えば、Tシャツ420、422、424、426、428、430)が存在することができる。
この例では、全ての3つのデータフィールド(色404、サイズ406、および価格408)は、検索インデックスに含まれることになり、ファセット数を有することができ、および関連する検索クエリに応答して、値を提供/返すことができる。例えば、図4に示すように、色:赤410は、3のファセット数を有することができ、および色:青412は、2のファセット数を有することができる。サイズ:ミディアム414は、2のファセット数を有することができる。価格:$10未満416は、1のファセット数を有することができ、および価格:$10〜$20 418は、2のファセット数を有することができる。さらに、色:赤410の検索クエリは、例えば、Tシャツ422、424、および428を返し、赤410および青412を検索し、例えば、Tシャツ422を返す、などである。例示の検索インデックス400が、ツリー構造として示されたが、検索インデックスを多くの他の方法でおよび/または他の構造で生成することができることが企図される。
図5は、ネットワーク化された環境における検索可能なデータに対するインデックス構成についての例示的な方法の実施形態500を示す。他に言及がない限り、種々の実施形態の範囲内で、同様のもしくは代替的な順序で、または並列して実行される、追加の、いくつかの、または代替のステップが存在することができることを、再度理解するべきである。ステップ502において、例示的な方法の実施形態500は、索引付けされるべきデータを受信することができる。例えば、方法500は、索引付けされるべき、エンティティによりアップロードされたデータを受信することができ、および、データは、複数のデータフィールド(または少なくとも1つのデータフィールド)を含むことができる。いくつかの実施形態では、例示的な方法はまた、データに関連付けられたデータフィールドに対する名前を判定することができる。ステップ504において、例示的な方法500は、データに関連付けられたデータフィールドのタイプを判定することができる。例えば、方法は、複数のデータフィールドにおける各データフィールドに関連付けられた複数のフィールドタイプのフィールドタイプを判定することができる。複数のフィールドタイプは、整数型、リテラル型、またはテキスト型の少なくとも1つを含むことができる(それらに限定されない)。データフィールドのタイプを、データフィールドの複数のタイプから判定することができる。いくつかの実施形態では、複数のデータフィールドならびにそれらのタイプおよび/または名前を、タグ、信号、または他のインジケーションに基づいて識別することができる。方法500は、ステップ506において、データに関連付けられたデータフィールドに関して有効にされるべき1または複数の検索オプションを判定することができる。例えば、1または複数の検索オプションは、生成されることになる検索インデックスにそれぞれのデータフィールドを含めるオプション、それぞれのデータフィールドに対するファセット数を算出するオプション、またはそれぞれのデータフィールドに関連付けられた1もしくは複数の値を提供するオプション、の少なくとも1つを含むことができる。ステップ508は、データフィールドのタイプおよび1または複数の検索オプションに少なくとも部分的に基づいて、データに対するインデックス構成を生成することを含むことができる。そして、ステップ510において、方法500は、データに対するインデックス構成に少なくとも部分的に基づいて、データに対する検索インデックスを生成することができる。いくつかの実施形態では、データが構造化されたデータ、フリーテキストデータ、または両方の組み合わせであるかに基づいて、検索インデックスを生成することができる。いくつかの実施形態では、例示的な方法はまた、データ、インデックス構成、または1もしくは複数の検索クエリにより検索可能となるインデックスの少なくとも1つを提供することができる。
種々の他の情報がインデックス構成に含められることができる。例えば、構成は、データフィールドがファセット決定可能であるか否か(すなわち、ファセット数がデータフィールドに対して算出されるべきか否か)、データフィールドがランク付け可能であるか否か(すなわち、データフィールドを有する検索結果の値がソートされるべきであるか否か)などに関する情報を保有することができる。
いくつかの実施形態では、ネットワークサービスは、第1のフォーマットで受信/アップロードされたデータを、第2のフォーマットに変換することができ、第2のフォーマットは、検索インデックスに適合し、および第2のフォーマットに変換されたデータを、1または複数の記憶域割り当て上に記憶することができる。例えば、ネットワークサービスは、エンティティからデータを受信することができ、データは、.PDF、.DOC、.DOCX、.CSV、.JSON、.XMLなどのいくつかの種々のフォーマットの任意の1または複数を有することが可能である。ネットワークサービスは、検索データフォーマット(SDF)などのネットワークサービスに適合する(例えば、ネットワークサービスにより認識可能であり、ネットワークサービスで実行可能な)フォーマットにデータを自動的に変換することができる。
いくつかの実施形態では、ネットワークサービスは、第1のフォーマットを第2のフォーマットと比較すること、および第1のフォーマットに関連付けられた少なくとも1つのデータフィールドを変更して、第2のフォーマットに関連付けられた少なくとも1つのデータフィールドに対応させること、に基づいて、データを変換することができる。例えば、ネットワークサービスは、エンティティから受信されたデータのフォーマット(複数可)を比較することができ、およびネットワークサービスに適合するようにフォーマットを変更/更新することができる。このことは、フォーマットにおける1または複数のデータフィールドが追加、除去、または変更されるべきかを識別することを含むことができる。
いくつかの実施形態では、ネットワークサービスは、データフィールドに関連付けられた値が、指定された整数量閾値を上回る量の整数文字を有しているかを判定したことに基づいて、データフィールドのタイプを整数型であると判定することができる。また、ネットワークサービスは、指定された下限リテラル量閾値を上回るが、指定されたリテラル量閾値未満である量のアルファベット文字を有するデータフィールドに関連付けられた値、指定されたリテラル相違量閾値未満であるデータフィールドに関連付けられたいくつかの相違する値、指定されたリテラル相違割合閾値未満である相違する値の割合(%)、または指定されたリテラル長閾値未満である値の長さ、の少なくとも1つを判定して、データフィールドのタイプをリテラル型であると判定することができる。さらに、ネットワークサービスは、データフィールドに関連付けられた値が、指定されたテキスト量閾値を上回る量の整数およびアルファベット文字、指定されたテキスト相違量閾値を上回るいくつかの相違する文字、指定されたテキスト相違割合閾値を上回る相違する文字の割合(%)、または指定されたテキスト長閾値を上回る文字の長さ、の少なくとも1つを有するかを判定したことに基づいて、データフィールドのタイプをテキスト型であると判定することができる。
いくつかの実施形態では、ネットワークサービスは、生成されることになる検索インデックスにデータフィールドを含めるオプションを有効にすると決定することができ、決定は、データフィールドが検索インデックスに含まれることになることを示す、データフィールドに含まれる信号を受信したことに少なくとも部分的に基づいている。ネットワークサービスはまた、データフィールドに対するファセット数を算出するオプションを有効にすると決定することができ、決定は、データフィールドに関連付けられた少なくとも1つの値に対する量が、指定されたファセット数下限閾値を上回り、および指定されたファセット数上限閾値未満であることを判定することに少なくとも部分的に基づいている。ネットワークサービスはさらに、関連する検索クエリに応答して、データフィールドに関連付けられた値を提供するオプションを有効にすると決定することができ、決定は、データフィールドに関連付けられた値が提供されることになることを示す、データフィールドに含まれる信号を受信したことに少なくとも部分的に基づいている。
いくつかの実施形態では、1または複数の検索クエリ(例えば、検索クエリにおける語)を、ネットワークサービスによって利用することができる。例えば、ネットワークサービスは、検索者が特定のデータフィールドに対してファセット決定していることを検索クエリから推論することができる。結果として、ネットワークサービスは、例えば、データフィールドがリテラル型のフィールドであるべきであることを判定することができる。
いくつかの実施形態では、検索者がクエリ語を入力し、および検索を要求するとき、1または複数の検索結果を、関連度によってなど、特定のランク表現(例えば、結果の順序)で提示することができる。本開示は、クエリに依存しない因子など(例えば、データ内に人気データフィールドを含めることができるなど)の他の因子を考慮したより複雑なランク表現の作成を可能にする。本開示はまた、データを参照し、およびデータフィールドが人気の観点から重要であると判定することによって、使用することができるランク表現を提案する分析を可能にすることができる。例えば、テキスト本体のデータフィールドタイプが存在することができ、その長さ(例えば、またはその長さの逆数(inverse)が考慮されてもよく、およびその長さは、ランク表現に対する有用な情報を提供することができる。
いくつかの実施形態では、データフィールドタイプはまた、地理的位置型、時間型、日付型、または浮動小数点数型を含むことができる。
本開示と一致した種々の実施形態はまた、サンプルデータを利用することができる。例えば、ユーザ/エンティティは最初に、サンプルデータをネットワークサービスに提供することができる。ネットワークサービスは、サンプルデータを分析して、データフィールドのタイプおよび検索オプションを判定することができる。サンプルデータに対するデータフィールドタイプおよび検索オプションに基づいて、ネットワークサービスは、インデックス構成を生成することができ、続いて、生成されたインデックス構成に基づいて、検索インデックスを生成することができる。
図6は、種々の実施形態に従って使用することができる例示的な電子ユーザデバイス600を示す。ポータブルコンピューティングデバイス(例えば、電子ブックリーダ、またはタブレットコンピュータ)が示されているが、本明細書で論じられた種々の実施形態に従って、入力を受信、判定、および/または処理することが可能な任意の電子デバイスを使用することができ、デバイスは、例えば、デスクトップコンピュータ、ノートブックコンピュータ、携帯情報端末、スマートフォン、ビデオゲームコンソール、テレビジョンセットトップボックス、およびポータブルメディアプレイヤを含むことができることを理解するべきである。いくつかの実施形態では、コンピューティングデバイス600は、オペアンプを使用して信号処理を実行することができるデバイスなどの、アナログデバイスとすることができる。この例では、コンピューティングデバイス600は、前面にディスプレイスクリーン602を有し、通常の動作では、ディスプレイスクリーンに面している(例えば、コンピューティングデバイスのディスプレイスクリーンと同一の側面上の)ユーザに情報を表示する。この例におけるコンピューティングデバイスは、少なくとも1つのカメラ604、または少なくとも1つのカメラの少なくとも視野上で静止またはビデオ画像情報を取り込む他の撮像要素を含む。いくつかの実施形態では、コンピューティングデバイスは単に、1つのみの撮像要素を含んでもよく、および他の実施形態では、コンピューティングデバイスは、いくつかの撮像要素を含んでもよい。各画像取込要素は、例えば、多くの他の可能性の中で、電荷結合素子(CCD)、動き検出センサ、または赤外線センサであってもよい。コンピューティングデバイス上に複数の画像取込要素が存在する場合、画像取込要素は、異なるタイプのものであってもよい。いくつかの実施形態では、少なくとも1つの撮像要素は、魚眼レンズなどの、カメラが180度以上などの広範囲の角度で画像を取り込むことを可能にする、少なくとも1つの広角光学要素を含むことができる。さらに、各画像取込要素は、高速に連続で後続のフレームを取り込むように構成されたデジタル静止カメラ、またはストリーミングビデオを取り込むことが可能なビデオカメラを含むことができる。
例示的なコンピューティングデバイス600はまた、少なくとも1つのマイクロフォン606、またはデバイスのユーザによって発される語またはコマンドなどの、音声データを取り込むことが可能な他の音声取込デバイスを含む。この例では、マイクロフォン606は、デバイスのディスプレイスクリーン602と同一の側面に配置され、それによって、マイクロフォンは通常、デバイスのユーザにより発される語をよりよく取り込むことが可能になる。少なくともいくつかの実施形態では、マイクロフォンは、マイクロフォンの前方から実質的に直近の音声情報を取り込み、および他の方向から限定した音声の量のみを拾う、指向型マイクロフォンとすることができる。マイクロフォンは、異なる実施形態では、デバイスの任意の領域、面、または境界の任意の適切な表面上に位置してもよいこと、ならびに、複数のマイクロフォンを、音声の記録およびフィルタリングなどの目的で使用することができること、を理解するべきである。
例示的なコンピューティングデバイス600はまた、位置および/または動き判定要素などの、少なくとも1つの方位センサ608を含む。そのようなセンサは、例えば、デバイスの方位および/または方位の変化、ならびにコンピューティングデバイスの小さな動きを検出するように動作可能な加速度計またはジャイロスコープを含むことができる。方位センサはまた、(例えば、主軸または他のそのような面に関して)デバイスが向いていると判定される方向(例えば、北または南)を示すことができる、電子またはデジタルコンパスを含むことができる。方位センサはまた、グローバルポジショニングシステム(GPS)、またはデバイスの位置に対する相対的座標、ならびにコンピューティングデバイスの比較的大きな動きに関する情報を判定するように動作可能な、類似のポジショニング要素を含み、または備えることができる。種々の実施形態は、任意の適切な組み合わせで、1または複数のそのような要素を含むことができる。理解されるべきであるように、相対位置、方位、および/または動きを判定するのに使用されるアルゴリズムまたは機構は、デバイスに利用可能な要素の選択に少なくとも部分的に依存することができる。
図7は、図6に関して説明されたデバイス600などの、例示的なコンピューティングデバイス700の一般的な構成要素の組の論理配置を示す。この例では、デバイスは、メモリデバイスもしくは要素704に記憶することができる命令を実行するプロセッサ702を含む。当業者にとって明らかなように、デバイスは、プロセッサ702により実行するためのプログラム命令に対する第1の記憶装置、画像もしくはデータに対する別個の記憶装置、または他のデバイスと情報を共有するための着脱可能メモリなどの、多くのタイプのメモリ、データ記憶装置、または非一時的コンピュータ可読記憶媒体を含むことができる。デバイスは通常、タッチスクリーンまたは液晶ディスプレイ(LCD)などのいくつかのタイプのディスプレイ要素706を含むが、ポータブルメディアプレイヤなどのデバイスは、音声スピーカを通じてなど、他の手段を介して情報を搬送してもよい。論じられたように、多くの実施形態におけるデバイスは、投影された画像またはデバイスの近隣にある他の対象物を撮像することが可能な、カメラまたは赤外線センサなどの少なくとも1つの画像取込要素708を含む。コンピューティングデバイスでのカメラ要素を使用した画像またはビデオを取り込む方法は、本分野では公知であり、本明細書では詳細に論じない。画像の取り込みを、単一の画像、複数の画像、周期的な撮像、連続した画像取り込み、画像ストリーミングなどを使用して実行することができることを理解するべきである。さらに、デバイスは、ユーザ、アプリケーション、または他のデバイスからコマンドを受信したときなど、画像の取り込みを開始および/または停止する能力を含むことができる。例示的なデバイスは同様に、モノラルもしくはステレオマイクロフォンまたはマイクロフォンアレイなどの、少なくとも1つの主要な方向から音声情報を取り込むように動作可能な、少なくとも1つの音声取込構成要素712を含む。マクロフォンは、そのようなデバイスに対して既知である単方向または無指向性マクロフォンをすることができる。
いくつかの実施形態では、図7のコンピューティングデバイス700は、Wi−Fi(登録商標)、Bluetooth(登録商標)、RF、有線もしくは無線通信システムなどの、1または複数の通信要素(図示しない)を含むことができる。多くの実施形態におけるデバイスは、インターネットなどのネットワークと通信することができ、および、他のそのようなデバイスと通信することが可能であってもよい。いくつかの実施形態では、デバイスは、ユーザから従来型の入力を受信することが可能な、少なくとも1つの追加的な入力デバイスを含むことができる。この従来型の入力は、例えば、プッシュボタン、タッチパッド、タッチスクリーン、ホイール、ジョイスティック、キーボード、マウス、キーパッド、または、ユーザがデバイスへのコマンドを入力することができる、任意の他のそのようなデバイスもしくは要素を含むことができる。しかしながら、いくつかの実施形態では、そのようなデバイスは、いかなるボタンも含まなくてもよく、ならびに、視覚および音声コマンドの組み合わせを通じてのみ制御されてもよく、それによって、ユーザは、デバイスと連絡する必要なしにデバイスを制御することができる。
デバイス700はまた、少なくとも1つの方位または動きセンサ710を含むことができる。論じられたように、そのようなセンサは、方位および/もしくは方位の変化を検出するように動作可能な加速度計もしくはジャイロセンサ、または、デバイスが向いていると判定される方向を示すことができる電子もしくはデジタルコンパスを含むことができる。機構(複数可)はまた(または代替的に)、グローバルポジショニングシステム(GPS)、またはデバイスの位置に対する相対的座標、ならびにコンピューティングデバイスの比較的大きな動きに関する情報を判定するように動作可能な類似のポジショニング要素を含み、または備えることができる。デバイスは、三角法または別のそのようなアプローチを通じて位置判定を有効にすることができるなどの、他の要素も含むことができる。これらの機構は、プロセッサ702と通信することができ、それによって、デバイスは、本明細書で説明または提案される任意の数の動作を実行することができる。
例として、図6に関して説明されたようなコンピューティングデバイスは、時間とともにユーザに対する種々の情報を取り込みおよび/または追跡することができる。この情報は、位置、動作(例えば、メッセージを送信すること、または文書を作成すること)、ユーザの振る舞い(例えば、ユーザがどれほど頻繁にタスクを実行するか、ユーザがタスクに要する時間の量、ユーザがインタフェースを通じてナビゲートする方法など)、ユーザ嗜好(例えば、どのようにユーザが情報を受信することを望むか)、オープンアプリケーション、投入された要求、および受信した呼などの、任意の適切な情報を含むことができる。上述のように、情報がリンクまたは関連付けられたそのような方法で、情報を記憶することができ、それによって、ユーザは、任意の適切な様態、または様態の集まりを使用して、情報にアクセスすることができる。
論じられたように、説明された実施形態に従って、種々の環境で異なるアプローチを実装することができる。例えば、図8は、種々の実施形態に従って態様を実現するための環境800の例を示す。理解されるように、ウェブベースの環境が例示の目的で使用されるが、必要に応じて、種々の実施形態を実現するために異なる環境が使用されてもよい。システムは、要求、メッセージ、もしくは情報を適切なネットワーク804上で送信および受信し、ならびに情報をデバイスのユーザに搬送し返すように動作可能な任意の適切なデバイスを含むことができる、電子クライアントデバイス802を含む。そのようなクライアントデバイスの例は、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージングデバイス、ラップトップコンピュータ、セットトップボックス、携帯情報端末、および電子ブックリーダなどを含む。ネットワークは、イントラネット、インターネット、セルラネットワーク、ローカルエリアネットワーク、もしくは任意の他のそのようなネットワーク、またはそれらの組み合わせ、などを含む任意の適切なネットワークを含むことができる。そのようなシステムに使用される構成要素は、ネットワークのタイプおよび/または選択される環境に少なくとも部分的に依存することができる。そのようなネットワークを介して通信するためのプロトコルおよび構成要素は公知であり、本明細書では詳細に論じない。ネットワーク上の通信を、有線または無線接続、およびそれらの組み合わせを介して有効にすることができる。この例では、要求を受信し、およびそれに応答してコンテンツを供給するウェブサーバ806を環境が含むので、ネットワークはインターネットを含むが、当業者にとって明らかなように、他のネットワークの場合、同一の目的を果たす代替的なデバイスが使用されるであろう。
例示的な環境は、少なくとも1つのアプリケーションサーバ808およびデータストア810を含む。いくつかのアプリケーションサーバ、階層もしくは他の要素、処理、または構成要素が存在することができ、それらは、適切なデータストアからデータを取得するなどのタスクを実行するように対話することができ、連鎖または構成されてもよい。本明細書で使用されるように、「データストア」という用語は、データを記憶、アクセス、および読み出すことが可能な任意のデバイスまたはデバイスの組み合わせを指し、任意の標準、分散型、またはクラスタ化された環境における、任意の組み合わせおよび数のデータサーバ、データベース、データ記憶装置、およびデータ記憶媒体を含んでもよい。アプリケーションサーバは、クライアントデバイスに対する1もしくは複数のアプリケーションの態様を実行する必要に応じて、データストアと対話し、ならびにアプリケーションに対するデータアクセスおよびビジネスロジックの大部分を処理する、任意の適切なハードウェアおよびソフトウェアを含むことができる。アプリケーションサーバは、データストアと協働してアクセス制御サービスを提供し、ならびに、この例で、HTML、XMLまたは別の適切な構造化言語の形式でウェブサーバによってユーザに供給することができる、ユーザに転送されることになるテキスト、グラフィック、音声、および/またはビデオなどのコンテンツを生成することが可能である。全ての要求および応答の処理、ならびにクライアントデバイス802とアプリケーションサーバ808との間のコンテンツの配信を、ウェブサーバ806によって扱うことができる。本明細書で論じられた構造化コードを、本明細書で他に論じられた任意の適切なデバイスまたはホストマシンで実行することができるので、ウェブおよびアプリケーションサーバが必要とされず、およびそれらは例示的な構成要素にすぎないことを理解するべきである。
データストア810は、いくつかの別個のデータテーブル、データベース、または特定の態様に関連するデータを記憶するための他のデータ記憶機構および媒体を含むことができる。例えば、例示されるデータストアは、製造側にコンテンツを供給するのに使用することができる、製造データ812およびユーザ情報816を記憶するための機構を含む。データストアはまた、ログまたはセッションデータ814を記憶するための機構を含むように示される。ページ画像情報およびアクセス権情報など、データストアに記憶するのに必要となる多くの他の側面が存在することができることを理解するべきであり、それらは、必要に応じて、上記列挙された機構、またはデータストア810における追加的な機構のいずれかに記憶することができる。データストア810は、それらに関連づけられたロジックを通じて、アプリケーションサーバ808から命令を受信し、およびそれに応答して、データを取得、更新、または処理するように動作可能である。一例では、ユーザは、ある特定のタイプの要素に対する検索要求を投入してもよい。この例では、データストアは、ユーザ情報にアクセスして、ユーザの識別を確認してもよく、およびカタログ詳細情報にアクセスして、そのタイプの要素に関する情報を取得することができる。そして、ユーザが、ユーザデバイス802上のブラウザを介して参照することが可能なウェブページ上で結果を一覧化するなど、情報をユーザに返すことができる。対象の特定の要素に対する情報を、専用ページまたはブラウザのウインドウで参照することができる。
各サーバは通常、そのサーバの全体的な管理および操作に対する実行可能なプログラム命令を提供するオペレーティングシステムを含み、ならびに、各サーバは通常、サーバのプロセッサにより実行されると、サーバがその意図された機能を実行することを可能にする命令を記憶したコンピュータ可読媒体を含む。オペレーティングシステムおよびサーバの全体的な機能性に適した実装は既知であり、もしくは商業的に利用可能であり、および、特に本開示を考慮して、当業者によって容易に実装される。
一実施形態での環境は、1もしくは複数のコンピュータネットワークまたは直接接続を使用して、通信リンクを介して相互接続されるいくつかのコンピュータシステムおよび構成要素を利用した、分散型コンピューティング環境である。しかしながら、そのようなシステムは、図8で示したよりも多くのもしくは少ない数の構成要素を有するシステムにおいても同様に動作することが、当業者によって理解されるであろう。したがって、図8におけるシステム800の記載は、本質的に例示的なものとしてみなされるべきであり、本開示の範囲を限定するものではない。
上述のように、多種多様の動作環境で、種々の実施形態を実装することができ、それらの環境は、いくつかの例において、いくつかのアプリケーションのいずれかを動作させるように使用することができる、1または複数のユーザコンピュータ、コンピューティングデバイス、または処理デバイスを含むことができる。ユーザまたはクライアントデバイスは、標準のオペレーティングシステムを実行するデスクトップまたはラップトップコンピュータなどのいくつかの汎用パーソナルコンピュータのいずれかと、ならびにモバイルソフトウェアを実行し、ならびにいくつかのネットワーキングおよびメッセージングプロトコルをサポートすることが可能なセルラ、無線、およびハンドヘルドデバイスを含むことができる。そのようなシステムはまた、種々の商業的利用可能なオペレーティングシステム、および開発およびデータベース管理などの目的のための他の既知のアプリケーションのいずれかを実行する、いくつかのワークステーションを含むことができる。これらのデバイスはまた、ダミー端末、シンクライアント、ゲーミングシステム、およびネットワークを介して通信することが可能な他のデバイスを含むことができる。
サービス指向アーキテクチャの一部とすることができるなど、少なくとも1つのサービスまたはウェブサービスの一部として、種々の態様を実現することもできる。ウェブサービスなどのサービスは、拡張可能マークアップ言語(XML)フォーマットにおけるメッセージを使用することによって、およびSOAP(「シンプルオブジェクトアクセスプロトコル(Simple Object Access Protocol)」から由来する)などの適切なプロトコルを使用して交換されるなどの、任意の適切なタイプのメッセージングを使用して通信することができる。そのようなサービスにより提供または実行される処理を、ウェブサービス記述言語(WSDL)などの任意の適切な言語で記述することができる。WSDLなどの言語を使用することは、種々のSOAPフレームワークにおいて、クライアント側でのコードの自動生成などの機能性を可能にする。
ほとんどの実施形態は、TCP/IP、OSI、FTP、UPnP、NFS、CIFS、およびAppleTalkなどの、種々の商業的に利用可能なプロトコルのいずれかを使用して通信をサポートする、当業者にとって公知な少なくとも1つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、およびそれらの任意の組み合わせとすることができる。
ウェブサーバを使用する実施形態では、ウェブサーバは、HTTPサーバ、FTPサーバ、CGIサーバ、データサーバ、Java(登録商標)サーバ、およびビジネスアプリケーションサーバを含む、種々のサーバまたはミドル層アプリケーションのいずれかを実行することができる。サーバ(複数可)はまた、Java(登録商標)、C、C#、もしくはC++などの任意のプログラミング言語、または、Perl、Python、もしくはTCL、およびそれらの組み合わせなどの、任意のスクリプト言語で記述された1もしくは複数のスクリプトまたはプログラムとして実装することができる、1もしくは複数のウェブアプリケーションを実行することによってなど、ユーザデバイスからの要求に応答して、プログラムまたはスクリプトを実行することが可能であってもよい。サーバ(複数可)はまた、それらに限定されないが、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、およびIBM(登録商標)からの商業的に利用可能なものを含むデータベースサーバを含んでもよい。
環境は、上述の種々のデータストアおよび他のメモリもしくは記憶媒体を含むことができる。これらは、1もしくは複数のコンピュータに対してローカルな(および/またはそれに存在する)、またはネットワークにわたるコンピュータのいずれかもしくは全てからリモートな記憶媒体上など、種々の位置に存在することができる。実施形態の特定の組では、情報は、当業者にとって公知なストレージエリアネットワーク(「SAN」)に存在してもよい。同様に、コンピュータ、サーバ、または他のネットワークデバイスに起因する機能を実行するための任意の必要なファイルは、必要に応じてローカルまたはリモートに記憶されてもよい。システムがコンピュータ化されたデバイスを含む場合、各々のそのようなデバイスは、バスを介して電子的に結合することができるハードウェア要素を含むことができ、要素は、例えば、少なくとも1つの中央処理装置(CPU)、少なくとも1つの入力デバイス(例えば、マウス、キーボード、コントローラ、タッチスクリーン、またはキーパッド)、および少なくとも1つの出力デバイス(例えば、ディスプレイデバイス、プリンタ、またはスピーカ)を含む。そのようなシステムはまた、ディスクドライブ、光学式記憶装置、および着脱可能メディアデバイス、メモリカード、フラッシュメモリとともに、ランダムアクセスメモリ(「RAM」)またはリードオンリメモリ(「ROM」)などの、ソリッドストレージデバイス、などの1または複数の記憶装置を含んでもよい。
そのようなデバイスはまた、上述のような、コンピュータ可読記憶媒体リーダ、通信デバイス(例えば、モデム、ネットワークカード(無線または有線)、赤外線通信デバイスなど)、および作業メモリを含むことができる。コンピュータ可読記憶媒体リーダを、一時的および/もしくはより永続的にコンピュータ可読情報を収容、記憶、送信および読み出すために、リモート、ローカル、固定および/もしくは着脱可能記憶装置、ならびに記憶媒体を表すコンピュータ可読記憶媒体と接続することができ、またはそれを受け取るように構成することができる。システムおよび種々のデバイスはまた通常、オペレーティングシステム、およびクライアントアプリケーションもしくはウェブブラウザなどのアプリケーションプログラムを含む、少なくとも1つの作業メモリデバイス内に位置するいくつかのソフトウェアアプリケーション、モジュール、サービス、または他の要素を含む。代替的な実施形態が、上述したものからの多数の変形例を有してもよいことを理解するべきである。例えば、カスタマイズされたハードウェアがまた使用されてもよく、および/または、特定の要素が、ハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、もしくは両方で実現されてもよい。さらに、ネットワーク入力/出力デバイスなどの、他のコンピューティングデバイスへの接続が採用されてもよい。
コードまたはコードの一部を収容するための記憶媒体およびコンピュータ可読媒体は、それらに限定されないが、記憶および/またはコンピュータ可読命令、データ構造、プログラムモジュール、もしくは他のデータなどの情報の送信のための任意の方法または技術で実現された揮発性および不揮発性、着脱可能および着脱不能媒体などの、記憶媒体および通信媒体を含む、本分野において既知および使用される任意の適切な媒体を含むことができ、それらは、RAM、ROM、EEPROM(登録商標)、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を記憶するのに使用することができ、およびシステムデバイスによってアクセスすることができる任意の他の媒体を含む。本明細書で提供される開示および教示に基づいて、当業者は、種々の実施形態を実現する適切な他の方式および/または方法を理解するであろう。
したがって、明細書および図面は、限定的な意味ではなく、例示的なものとみなされるものである。しかしながら、特許請求の範囲に記載された広義の精神および範囲から逸脱することなしに、種々の変形及び変更がそれらになされてもよいことが明白である。
本開示の種々の実施形態を、以下の項を考慮して記載する。
A1.ネットワーク化された環境における検索可能なデータに対するインデックス構成のためのコンピュータにより実行される方法であって、
索引付けされるべきデータを受信することとであって、上記データは、複数のデータフィールドを含むことと、
上記複数のデータフィールドにおける各データフィールドに関連付けられた名前を判定することと、
上記複数のデータフィールドにおける各データフィールドに関連付けられた複数のフィールドタイプのフィールドタイプを判定することとであって、上記複数のフィールドタイプは、整数型、リテラル型、またはテキスト型の少なくとも1つを含むことと、
上記データフィールドの各々に対する1または複数の検索オプションを有効にするかを判定することであって、上記1または複数の検索オプションは、生成されることになる検索インデックスにそれぞれのデータフィールドを含めるオプション、上記それぞれのデータフィールドに対するファセット数を算出するオプション、または上記それぞれのデータフィールドに関連付けられた1もしくは複数の値を提供するオプション、の少なくとも1つを含むことと、
上記データに含まれる各データフィールドの上記フィールドタイプ、および上記1または複数の検索オプションを有効にするかを上記判定することに少なくとも部分的に基づいて、上記データに対する検索インデックス構成を生成することと、
上記データに対する上記検索インデックス構成に少なくとも部分的に基づいて、上記データに対する検索インデックスを生成することと、
を備えた、コンピュータにより実行される方法。
A2.上記データは、第1のフォーマットのデータであり、
上記データを上記第1のフォーマットから第2のフォーマットに変換することであって、上記第2のフォーマットは、上記検索インデックスと比較可能であることと、および
1または複数の記憶域割り当て上に、上記第2のフォーマットに変換された上記データを記憶することと、
をさらに備えた、A1項のコンピュータにより実行される方法。
A3.上記データを上記第1のフォーマットから上記第2のフォーマットに上記変換することは、
上記第1のフォーマットを上記第2のフォーマットと比較することと、および
上記第1のフォーマットに関連付けられた少なくとも1つのデータフィールドを変更して、上記第2のフォーマットに関連付けられた少なくとも1つのデータフィールドに対応させることと、
を備えた、A2項のコンピュータにより実行される方法。
A4.上記第2のフォーマットは、検索データフォーマット(SDF)である、A2項のコンピュータにより実行される方法。
A5.索引付けされるべきデータを受信することと、
上記データに関連付けられたデータフィールドのタイプを判定することであって、上記データフィールドの上記タイプは、複数のタイプのデータフィールドから判定されることと、
上記データに関連付けられた上記データフィールドに関して有効にされるべき1または複数の検索オプションを判定することと、
上記データフィールドの上記タイプ、および上記1または複数の検索オプションに少なくとも部分的に基づいて、上記データに対するインデックス構成を生成することと、および
上記データに対する上記インデックス構成に少なくとも部分的に基づいて、上記データに対する検索インデックスを生成することと、
を備えた、コンピュータにより実行される方法。
A6.上記データは第1のフォーマットのデータであり、
上記データを上記第1のフォーマットから第2のフォーマットに変換することであって、上記第2のフォーマットは、上記検索インデックスに適合していることと、および
1または複数の記憶域割り当て上に、上記第2のフォーマットに変換された上記データを記憶することと、
をさらに備えた、A5項のコンピュータにより実行される方法。
A7.上記データを上記第1のフォーマットから上記第2のフォーマットに上記変換することは、
上記第1のフォーマットを上記第2のフォーマットと比較することと、および
上記第1のフォーマットに関連付けられた少なくとも1つのデータタグを変更して、上記第2のフォーマットに関連付けられた少なくとも1つのデータタグに対応させることと、
を備えた、A6項のコンピュータにより実行される方法。
A8.データフィールドの上記複数のタイプは、整数型、テキスト型、リテラル型、地理的位置型、時間型、日付型、または浮動小数点数型、の少なくとも1つを含む、A5項のコンピュータにより実行される方法。
A9.上記データフィールドの上記タイプを上記判定することは、
上記データフィールドに関連付けられた値が、指定された整数量閾値を上回る量の整数文字を有していることを判定することと、および
上記データフィールドの上記タイプを上記整数型であると判定することと、
を備えた、A8項のコンピュータにより実行される方法。
A10.上記データフィールドの上記タイプを上記判定することは、
指定されたテキスト量閾値を上回る量のアルファベット文字を有する上記データフィールドに関連付けられた値、指定されたテキスト相違量閾値を上回る上記データフィールドに関連付けられたいくつかの相違する値、指定されたテキスト相違割合閾値を上回る相違する値の割合(%)、または指定されたテキスト長閾値を上回る値の長さ、の少なくとも1つを判定することと、および
上記データフィールドの上記タイプを上記テキスト型になるであると判定することと、
を備えた、A8項のコンピュータにより実行される方法。
A11.上記データフィールドの上記タイプを上記判定することは、
指定された下限リテラル量閾値を上回るが、指定された上限リテラル量閾値未満である量のアルファベット文字を有する上記データフィールドに関連付けられた値、指定されたリテラル相違量閾値未満である上記データフィールドに関連付けられたいくつかの相違する値、指定されたリテラル相違割合閾値未満である相違する値の割合(%)、または指定されたリテラル長閾値未満である値の長さ、の少なくとも1つを判定することと、および
上記データフィールドの上記タイプを上記リテラル型であると判定することと、
を備えた、A8項のコンピュータにより実行される方法。
A12.上記1または複数の検索オプションは、生成されることになる上記検索インデックスに上記データフィールドを含めるオプション、上記データフィールドに対するファセット数を算出するオプション、または関連する検索クエリに応答して上記データフィールドに関連付けられた値を提供するオプション、の少なくとも1つを含む、A5項のコンピュータにより実行される方法。
A13.有効にされるべき上記1または複数の検索オプションを上記判定することは、生成されることになる上記検索インデックスに上記データフィールドを含める上記オプションを有効にすると決定することを備え、上記決定は、上記データフィールドが上記検索インデックスに含まれるべきであることを示す、上記データフィールドに含まれる信号を受信すること、または上記データフィールドのタイプをリテラル型であると判定すること、の少なくとも1つに少なくとも部分的に基づいている、A12項のコンピュータにより実行される方法。
A14.有効にされるべき上記1または複数の検索オプションを上記判定することは、上記データフィールドに対する上記ファセット数を算出する上記オプションを有効にすると決定することを備え、上記決定は、上記データフィールドに関連付けられた複数の値の分布に対する量が、指定されたファセット数上限閾値未満であると判定することに少なくとも部分的に基づいている、A12項のコンピュータにより実行される方法。
A15.有効にされるべき上記1または複数の検索オプションを上記判定することは、上記関連する検索クエリに応答して、上記データフィールドに関連付けられた上記値を提供する上記オプションを有効にすると決定することを備え、上記決定は、上記データフィールドに関連付けられた上記値が提供されることを示す、上記データフィールドに含まれる信号を受信すること、または上記データフィールドに関連付けられた上記値の長さが、指定された返り値長閾値未満であると判定すること、の少なくとも1つに少なくとも部分的に基づいている、A12項のコンピュータにより実行される方法。
A16.上記データ、上記インデックス構成、または1または複数の検索クエリにより検索可能となる上記インデックス、の少なくとも1つを提供すること、をさらに備えた、A5項のコンピュータにより実行される方法。
A17.1または複数のユーザにより開始される入力に少なくとも部分的に基づいて、上記インデックス構成を変更すること、をさらに備えた、A5項のコンピュータにより実行される方法。
A18.少なくとも1つの通信送受信機と、
1または複数の記憶域割り当てと、
少なくとも1つのプロセッサと、および
命令を含むメモリデバイスと
を備えたシステムであって、上記命令は、上記少なくとも1つのプロセッサによって実行されると、上記システムに、
索引付けされるべきデータを、上記少なくとも1つの通信送受信機を介して受信し、
上記データに関連付けられたデータフィールドのタイプを判定し、上記データフィールドの上記タイプは、複数のタイプのデータフィールドから判定され、
上記データに関連付けられた上記データフィールドに関して有効にされるべき1または複数の検索オプションを判定し、
上記データフィールドの上記タイプ、および上記1または複数の検索オプションに少なくとも部分的に基づいて、上記データに対するインデックス構成を生成し、および
上記データに対する上記インデックス構成に少なくとも部分的に基づいて、上記データに対する検索インデックスを生成 させる、システム。
A19.上記データは第1のフォーマットのデータであり、および、上記命令はさらに、上記システムに、
上記データを上記第1のフォーマットから第2のフォーマットに変換し、上記第2のフォーマットは、上記検索インデックスに適合しており、および
上記1または複数の記憶域割り当て上に、上記第2のフォーマットに変換された前記データを記憶 させる、A18項のシステム。
A20.上記命令は、上記システムに、上記第1のフォーマットを上記第2のフォーマットと比較すること、および上記第1のフォーマットに関連付けられた少なくとも1つのデータフィールドを変更して、上記第2のフォーマットに関連付けられた少なくとも1つのデータフィールドに対応させること、に基づいて、上記データを上記第1のフォーマットから上記第2のフォーマットに変換させる、A19項のシステム。
A21.要素を識別するための命令を含む非一時的コンピュータ可読記憶媒体であって、上記命令は、コンピューティングシステムのプロセッサにより実行されると、上記コンピューティングシステムに、
索引付けされるべきデータを受信し、
上記データに関連付けられたデータフィールドのタイプを判定し、上記データフィールドの上記タイプは、複数のタイプのデータフィールドから判定され、
上記データに関連付けられた上記データフィールドに関して有効にされるべき1または複数の検索オプションを判定し、
上記データフィールドの上記タイプ、および上記1または複数の検索オプションに少なくとも部分的に基づいて、上記データに対するインデックス構成を生成し、および
上記データに対する上記インデックス構成に少なくとも部分的に基づいて、上記データに対する検索インデックスを生成、
させる、非一時的コンピュータ可読記憶媒体。
A22.データフィールドの上記複数のタイプは、整数型、テキスト型、リテラル型、地理的位置型、時間型、日付型、または浮動小数点数型、の少なくとも1つを含む、A21項の非一時的コンピュータ可読記憶媒体。
A23.上記命令は、上記コンピューティングシステムに、指定された下限リテラル量閾値を上回るが、指定された上限リテラル量閾値未満である量のアルファベット文字を有する上記データフィールドに関連付けられた値、指定されたリテラル相違量閾値未満である上記データフィールドに関連付けられたいくつかの相違する値、指定されたリテラル相違割合閾値未満である相違する値の割合、または指定されたリテラル長閾値未満である値の長さ、の少なくとも1つを判定することに基づいて、上記データフィールドの上記タイプを上記リテラル型であると判定させる、A22項の非一時的コンピュータ可読記憶媒体。
A24.上記1または複数の検索オプションは、生成されることになる上記検索インデックスに上記データフィールドを含めるオプション、上記データフィールドに対するファセット数を算出するオプション、または関連する検索クエリに応答して、上記データフィールドに関連付けられた値を提供するオプション、の少なくとも1つを含む、A21項の非一時的コンピュータ可読記憶媒体。
A25.有効にされるべき上記1または複数の検索オプションを上記判定することは、上記データフィールドに対する上記ファセット数を算出する上記オプションを有効にすると決定することを備え、上記決定は、上記データフィールドに関連付けられた少なくとも1つの値に対する量が、指定されたファセット数下限閾値を上回り、および指定されたファセット数上限閾値未満であると判定することに少なくとも部分的に基づいている、A24項の非一時的コンピュータ可読記憶媒体。
B1.動的な検索パーティション分割のためのコンピュータにより実行される方法であって、
記憶されているデータの量、またはネットワークサービスにより提供される第1のパーティション上でデータが操作されている比率の少なくとも1つを監視することであって、前記第1のパーティションは、前記ネットワークサービスにより提供される記憶域割り当てに含まれることと、
上記量または上記比率の上記少なくとも1つが、指定された量閾値または指定された比率閾値のそれぞれを超えることを検出することと、
上記検出することに応答して、上記第1のパーティションのサイズへの増加、または上記記憶域割り当てへの少なくとも第2のパーティションの追加の、少なくとも1つを実行することであって、上記増加または上記追加の上記少なくとも1つは、上記記憶されているデータの量、または上記データが操作されている比率に少なくとも部分的に基づいていることと、
上記増加または上記追加の上記少なくとも1つの間に、上記記憶域割り当てに関連付けられたネットワークトラフィックを、上記ネットワークサービスにより提供されるキャッシュに向けることと、および
上記増加または上記追加の上記少なくとも1つを実行することが完了したとき、上記ネットワークトラフィックを、上記記憶域割り当てに向けることと、
を備えた、コンピュータにより実行される方法。
B2.上記記憶域割り当てに対する検索インデックスを監視することと、
上記検索インデックスのサイズが、指定されたインデックスサイズ閾値を超えることを検出することと、および
上記記憶域割り当てに対する上記検索インデックスを、上記記憶域割り当てに関する上記増加または上記追加の上記少なくとも1つを反映するように更新することと、
をさらに備えた、B1項のコンピュータにより実行される方法。
B3.上記第1のパーティションの上記サイズへの上記増加は、上記第1のパーティションの上記サイズが、最大パーティションサイズ閾値未満である場合に実行され、および、少なくとも上記第2のパーティションの上記追加は、上記第1のパーティションの上記サイズが、上記最大パーティションサイズ閾値にあるときに実行される、B1項のコンピュータにより実行される方法。
B4.ネットワーク化された環境における記憶域割り当て上のデータ使用量を監視することであって、上記記憶域割り当ては、少なくとも1つのパーティションを含むいくつかのパーティションを有することと、
上記記憶域割り当てに含まれる上記少なくとも1つのパーティション上の上記データ使用量が、指定された閾値を超えるかを判定することと、
上記少なくとも1つのパーティションのサイズ、または上記記憶域割り当てに含まれるいくつかのパーティションの数、の少なくとも1つを変更することと、
上記記憶域割り当てに関連付けられたネットワークトラフィックを、上記サイズまたは上記いくつかの上記少なくとも1つの上記変更することに関連付けられた上記記憶域割り当ての一部から離れて向けさせることと、および
上記変更することが完了したとき、上記ネットワークトラフィックを、上記変更することに関連付けられた上記記憶域割り当ての上記一部に向けることと、
を備えた、コンピュータにより実行される方法。
B5.上記記憶域割り当てに対する検索インデックスのサイズが、指定されたインデックスサイズ閾値を超えることを検出することと、および
上記少なくとも1つのパーティションの上記サイズ、または上記記憶域割り当てに含まれる上記いくつかのパーティションの数の上記少なくとも1つを上記変更することに基づいて、上記記憶域割り当てに対する上記検索インデックスを更新することと、
を備えた、B4項のコンピュータにより実行される方法。
B6.上記検索インデックスを上記更新することは、上記少なくとも1つのパーティションの上記サイズ、または上記記憶域割り当てに含まれる上記いくつかのパーティションの数の上記少なくとも1つを上記変更することを反映するように、上記記憶域割り当てに対する上記検索インデックスを再構築することと、を含む、B5項のコンピュータにより実行される方法。
B7.上記データ使用量は、上記記憶域割り当て上に記憶されているデータの量、または上記記憶域割り当て上でデータが操作されている比率、の少なくとも1つを含む、B4項のコンピュータにより実行される方法。
B8.上記指定された閾値は、指定された量閾値または指定された比率閾値、の少なくとも1つを含み、および、記憶されているデータの前記量が、上記指定された量閾値を超えること、またはデータが操作されている上記比率が、上記指定された比率閾値を超えること、の少なくとも1つが発生するとき、上記データ使用量が上記指定された閾値を超える、B7項のコンピュータにより実行される方法。
B9.上記指定された閾値は、履歴データ使用量に関する情報に少なくとも部分的に基づいて算出される、B8項のコンピュータにより実行される方法。
B10.上記記憶域割り当てに向けられるネットワークトラフィックの量が、指定されたトラフィック閾値を上回ると判定することと、および
上記ネットワークトラフィックの量に基づいて、上記記憶域割り当てを変更することと、
をさらに備えた、B4項のコンピュータにより実行される方法。
B11.上記ネットワークトラフィックは、上記記憶域割り当て上に記憶されたデータを検索するための検索クエリトラフィックを含む、B10項のコンピュータにより実行される方法。
B12.上記ネットワークトラフィックの量に基づいて、上記記憶域割り当てを変更することは、上記少なくとも1つのパーティションの上記サイズを変更すること、上記いくつかのパーティションを変更すること、または上記いくつかのパーティションに含まれる少なくとも1つのパーティションを、異なる仕様を有する少なくとも1つのパーティションに置き換えること、の少なくとも1つを含む、B10項のコンピュータにより実行される方法。
B13.上記異なる仕様は、異なるCPUパワー、異なるRAMの容量、異なるハードディスクスペースの容量、または異なる帯域幅の容量、の少なくとも1つを含む、B12項のコンピュータにより実行される方法。
B14.上記少なくとも1つのパーティションの上記サイズ、または上記いくつかのパーティションの数の上記少なくとも1つを変更することは、上記少なくとも1つのパーティションの上記サイズ、または前記いくつかのパーティションの数上記少なくとも1つを増大させることを含み、上記少なくとも1つのパーティションの上記サイズを上記増大させることは、上記少なくとも1つのパーティションの上記サイズが最大パーティションサイズ閾値未満である場合に実行され、および、上記いくつかの上記パーティションの数を上記増大させることは、上記少なくとも1つのパーティションの上記サイズが最大パーティションサイズ閾値にある場合に実行される、B4項のコンピュータにより実行される方法。
B15.上記少なくとも1つのパーティションの上記サイズ、または上記いくつかのパーティションの数の上記少なくとも1つを上記変更することは、上記少なくとも1つのパーティションの上記サイズ、または上記いくつかのパーティションの数の少なくとも1つを減少させることを含み、上記いくつかの上記パーティションの数を上記減少させることは、上記パーティションの数が1超である場合に実行され、および上記少なくとも1つのパーティションの上記サイズを上記減少させることは、上記パーティションの数が1である場合に実行される、B4項のコンピュータにより実行される方法。
B16.上記記憶域割り当てのCPU使用率を判定することをさらに備え、上記サイズまたは上記数の上記少なくとも1つを上記変更することは、上記記憶域割り当て上の上記データ使用量、または上記判定された、上記記憶域割り当てのCPU使用率、の少なくとも1つに基づいている、B4項のコンピュータにより実行される方法。
B17.上記データ使用量に関連付けられた構成、またはユーザにより開始される入力、の少なくとも1つに基づいて、上記記憶域割り当ての構成を変更すること、をさらに備えたB4項のコンピュータにより実行される方法。
B18.上記記憶域割り当てに利用可能なリソースに基づいて、上記サイズまたは上記数の上記少なくとも1つを上記変更することをいつ実行するかを判定すること、をさらに備えた、B4項のコンピュータにより実行される方法。
B19.少なくとも1つのパーティションを含むいくつかのパーティションを有する記憶域割り当てと、
少なくとも1つのプロセッサと、および
命令を含むメモリデバイスと
を備えたシステムであって、上記命令は、上記少なくとも1つのプロセッサにより実行されると、上記システムに、
上記記憶域割り当て上のデータ使用量を監視し、
上記記憶域割り当てに含まれる上記少なくとも1つのパーティション上の上記データ使用量が、指定された閾値を超えるかを判定し、
上記少なくとも1つのパーティションのサイズ、または上記記憶域割り当てに含まれる上記いくつかのパーティションの数を変更し、
上記記憶域割り当てに関連付けられたネットワークトラフィックを、上記サイズまたは上記数の上記少なくとも1つの上記変更することに関連付けられた上記記憶域割り当ての一部から離れて向けさせ、および
上記変更することが完了したとき、上記ネットワークトラフィックを、上記変更することに関連付けられた上記記憶域割り当ての上記一部に向ける、システム。
B20.上記サイズまたは上記数の上記少なくとも1つを上記変更する間に、上記記憶域割り当ての上記一部から離れて向けられている上記ネットワークトラフィック、および上記サイズまたは上記数上記少なくとも1つを変更することが完了したとき、上記記憶域割り当ての上記一部に向けられている上記ネットワークトラフィックを促進するように構成された少なくとも1つの負荷分散装置、をさらに備えた、B19項のシステム。
B21.上記少なくとも1つの負荷分散装置は、上記記憶域割り当てに含まれる上記いくつかのパーティションわたって上記ネットワークトラフィックを方向づけるように構成されている、B20項のシステム。
B22.上記記憶域割り当て上の上記データ使用量を上記監視すること、および上記記憶域割り当てに含まれる上記少なくとも1つのパーティション上の上記データ使用量が、指定された閾値を超えるかを判定することを促進するように構成された少なくとも1つの監視モジュール、をさらに備えた、B19項のシステム。
B23.要素を識別するための命令を含む、非一時的コンピュータ可読記憶媒体であって、上記命令は、コンピューティングシステムのプロセッサにより実行されると、上記コンピューティングシステムに、
ネットワーク化された環境における記憶域割り当て上のデータ使用量を監視し、上記記憶域割り当ては、少なくとも1つのパーティションを含むいくつかのパーティションを有し、
上記記憶域割り当てに含まれる上記少なくとも1つのパーティション上の上記データ使用量が、指定された閾値を超えるかを判定し、
上記少なくとも1つのパーティションのサイズ、または上記記憶域割り当てに含まれる上記いくつかのパーティションの数の少なくとも1つを変更し、
上記記憶域割り当てに関連付けられたネットワークトラフィックを、上記サイズまたは上記数の上記少なくとも1つの上記変更することに関連付けられた上記記憶域割り当ての一部から離れて向けさせ、および
上記変更することが完了したとき、上記ネットワークトラフィックを、上記変更することに関連付けられた上記記憶域割り当ての上記一部に向ける、非一時的コンピュータ可読記憶媒体。
B24.上記命令はさらに、上記コンピューティングシステムに、上記記憶域割り当てに対する検索インデックスのサイズが、指定されたインデックスのサイズ閾値を超えることを検出し、上記少なくとも1つのパーティションの上記サイズ、または上記記憶域割り当てに含まれる上記いくつかのパーティションの上記少なくとも1つを上記変更することに基づいて、上記記憶域割り当てに対する上記検索インデックスを更新させる、B23項の非一時的コンピュータ可読記憶媒体。
B25.上記検索インデックスを上記更新することは、上記少なくとも1つのパーティションの上記サイズ、または上記記憶域割り当てに含まれる上記いくつかのパーティションの数の上記少なくとも1つの上記変更することを反映するように、上記記憶域割り当てに対する上記検索インデックスを再構築すること、を含む、B24項の非一時的コンピュータ可読記憶媒体。

Claims (15)

  1. ネットワーク化された環境における記憶域割り当てに関するデータ使用量を監視することであって、前記記憶域割り当ては、少なくとも1つのパーティションを含むいくつかのパーティションを有することと、
    前記記憶域割り当てに含まれる前記少なくとも1つのパーティション上の前記データ使用量が、指定された閾値を超えるかを判定することと、
    前記少なくとも1つのパーティションのサイズ、または前記記憶域割り当てに含まれる前記パーティションの数の少なくとも1つを変更することと、
    前記記憶域割り当てに関連付けられたネットワークトラフィックを、前記サイズまたは数の少なくとも1つを変更することに関連付けられた前記記憶域割り当ての一部から離れて向けさせることと、
    前記変更することが完了したとき、前記ネットワークトラフィックを、前記変更することに関連付けられた前記記憶域割り当ての前記一部に向けることと
    を備えた、コンピュータにより実行される方法。
  2. 前記記憶域割り当てに対する検索インデックスのサイズが、指定されたインデックスサイズ閾値を超えることを検出することと、および
    前記少なくとも1つのパーティションの前記サイズ、または前記記憶域割り当てに含まれるいくつかのパーティションの数の少なくとも1つを変更することに基づいて、前記記憶域割り当てに対する前記検索インデックスを更新することと
    を備えた、請求項1に記載のコンピュータにより実行される方法。
  3. 前記検索インデックスを前記更新することが、前記少なくとも1つのパーティションの前記サイズ、または前記記憶域割り当てに含まれる前記いくつかのパーティション数の少なくとも1つを前記変更することを反映するように、前記記憶域割り当てに対する前記検索インデックスを再構築することを含む、請求項2に記載のコンピュータにより実行される方法。
  4. 前記データ使用量が、前記記憶域割り当て上に記憶されているデータの量、または前記記憶域割り当て上でデータが操作されている比率の少なくとも1つを含む、請求項1に記載のコンピュータにより実行される方法。
  5. 前記指定された閾値が、指定された量閾値または指定された比率閾値の少なくとも1つを含み、前記記憶されているデータの量が、前記指定された量閾値を超えること、または前記データが操作されている比率が、前記指定された比率閾値を超えることの少なくとも1つが発生するとき、前記データ使用量が前記指定された閾値を超える、請求項4に記載のコンピュータにより実行される方法。
  6. 前記指定された閾値は、履歴データ使用量に関する情報に少なくとも部分的に基づいて算出される、請求項5に記載のコンピュータにより実行される方法。
  7. 前記記憶域割り当てに向けられるネットワークトラフィックの量が、指定されたトラフィック閾値を上回ると判定することと、 前記ネットワークトラフィックの量に基づいて、前記記憶域割り当てを変更することと
    をさらに備えた、請求項1に記載のコンピュータにより実行される方法。
  8. 前記ネットワークトラフィックが、前記記憶域割り当て上に記憶されたデータを検索するための検索クエリトラフィックを含む、請求項7に記載のコンピュータにより実行される方法。
  9. 前記ネットワークトラフィックの量に基づいて、前記記憶域割り当てを変更することが、前記少なくとも1つのパーティションの前記サイズを変更すること、前記いくつかのパーティションの数を変更すること、または前記いくつかのパーティションに含まれる少なくとも1つのパーティションを、異なる仕様を有する少なくとも1つのパーティションに置き換えることのうちの少なくとも1つを含む、請求項7に記載のコンピュータにより実行される方法。
  10. 前記異なる仕様が、異なるCPUパワー、異なるRAMの容量、異なるハードディスクスペースの容量、または異なる帯域幅の容量のうちの少なくとも1つを含む、請求項9に記載のコンピュータにより実行される方法。
  11. 前記少なくとも1つのパーティションのサイズ、または前記いくつかのパーティションの数の少なくとも1つを変更することが、前記少なくとも1つのパーティションの前記サイズ、または前記いくつかのパーティションの数の少なくとも1つを増大させることを含み、前記少なくとも1つのパーティションのサイズを増大させることが、前記少なくとも1つのパーティションのサイズが最大パーティションサイズ閾値未満である場合に実行され、かつ、前記いくつかのパーティションの数を前記増大させることは、前記少なくとも1つのパーティションのサイズが最大パーティションサイズ閾値にある場合に実行される、請求項1に記載のコンピュータにより実行される方法。
  12. 前記少なくとも1つのパーティションの前記サイズ、または前記いくつかのパーティションの数の少なくとも1つを変更することが、前記少なくとも1つのパーティションのサイズ、または前記いくつかのパーティションの数の少なくとも1つを減少させることを含み、前記いくつかのパーティションを減少させることが、前記いくつかのパーティションの数が1超である場合に実行され、かつ前記少なくとも1つのパーティションのサイズを減少させることが、前記いくつかのパーティションの数が1である場合に実行される、請求項1に記載のコンピュータにより実行される方法。
  13. 前記記憶域割り当てのCPU使用率を判定することをさらに備え、前記サイズまたは前記数のうち少なくとも1つを変更することが、前記記憶域割り当てに関する前記データ使用量、または前記判定された、前記記憶域割り当てのCPU使用率の少なくとも1つに基づく、請求項1に記載のコンピュータにより実行される方法。
  14. 前記データ使用量に関連付けられた構成、またはユーザにより開始される入力の少なくとも1つに基づいて、前記記憶域割り当ての構成を変更することをさらに備えた、請求項1に記載のコンピュータにより実行される方法。
  15. 前記記憶域割り当てに利用可能なリソースに基づいて、前記サイズまたは前記数少なくとも1つを変更することをいつ実行するかを判定することをさらに備えた、請求項1に記載のコンピュータにより実行される方法。
JP2015536973A 2012-10-12 2013-10-12 ネットワークにおける検索可能なデータに対するインデックス構成 Pending JP2015532493A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13/650,931 US9507750B2 (en) 2012-10-12 2012-10-12 Dynamic search partitioning
US13/650,961 2012-10-12
US13/650,961 US9047326B2 (en) 2012-10-12 2012-10-12 Index configuration for searchable data in network
US13/650,931 2012-10-12
PCT/US2013/064731 WO2014059394A1 (en) 2012-10-12 2013-10-12 Index configuration for searchable data in network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016211567A Division JP6339155B2 (ja) 2012-10-12 2016-10-28 ネットワークにおける検索可能なデータに対するインデックス構成

Publications (1)

Publication Number Publication Date
JP2015532493A true JP2015532493A (ja) 2015-11-09

Family

ID=50477970

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015536973A Pending JP2015532493A (ja) 2012-10-12 2013-10-12 ネットワークにおける検索可能なデータに対するインデックス構成
JP2016211567A Active JP6339155B2 (ja) 2012-10-12 2016-10-28 ネットワークにおける検索可能なデータに対するインデックス構成

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016211567A Active JP6339155B2 (ja) 2012-10-12 2016-10-28 ネットワークにおける検索可能なデータに対するインデックス構成

Country Status (10)

Country Link
EP (1) EP2907034A4 (ja)
JP (2) JP2015532493A (ja)
KR (2) KR101782302B1 (ja)
CN (2) CN104823169B (ja)
AU (3) AU2013328901B2 (ja)
BR (1) BR112015008146A2 (ja)
CA (1) CA2888116C (ja)
IN (1) IN2015DN03160A (ja)
SG (2) SG11201502828PA (ja)
WO (1) WO2014059394A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9507750B2 (en) 2012-10-12 2016-11-29 A9.Com, Inc. Dynamic search partitioning

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047326B2 (en) 2012-10-12 2015-06-02 A9.Com, Inc. Index configuration for searchable data in network
CN106131188A (zh) * 2016-07-15 2016-11-16 柳州健科技有限公司 局域网络系统
CN106131189A (zh) * 2016-07-15 2016-11-16 柳州健科技有限公司 基于局域网的网络平台
CN105979015A (zh) * 2016-07-15 2016-09-28 柳州健科技有限公司 基于局域网的网络数据服务平台
CN105979016A (zh) * 2016-07-15 2016-09-28 柳州健科技有限公司 局域网络数据服务系统
CN105979014A (zh) * 2016-07-15 2016-09-28 柳州健科技有限公司 基于局域网的网络数据系统
CN105978913A (zh) * 2016-07-15 2016-09-28 柳州健科技有限公司 网络服务系统
CN105978739A (zh) * 2016-07-15 2016-09-28 柳州健科技有限公司 基于局域网的网络数据平台
CN106060082A (zh) * 2016-07-16 2016-10-26 柳州健科技有限公司 基于局域网的具有数据监控功能的网络服务平台
CN106131195A (zh) * 2016-07-16 2016-11-16 柳州健科技有限公司 具有数据监控功能的局域网络系统
CN106131196A (zh) * 2016-07-16 2016-11-16 柳州健科技有限公司 基于局域网的具有自学习功能的网络系统
CN106131190A (zh) * 2016-07-16 2016-11-16 柳州健科技有限公司 基于局域网的具有数据监控功能的网络平台
CN106131194A (zh) * 2016-07-16 2016-11-16 柳州健科技有限公司 具有自学习功能的局域网络平台
CN106060081A (zh) * 2016-07-16 2016-10-26 柳州健科技有限公司 具有数据监控功能的网络服务平台
CN106060083A (zh) * 2016-07-16 2016-10-26 柳州健科技有限公司 具有数据监控功能的网络服务系统
CN106131191A (zh) * 2016-07-16 2016-11-16 柳州健科技有限公司 具有数据监控功能的局域网络数据服务系统
CN106131192A (zh) * 2016-07-16 2016-11-16 柳州健科技有限公司 基于局域网的具有数据监控功能的网络系统
CN106101024A (zh) * 2016-07-16 2016-11-09 柳州健科技有限公司 具有数据监控功能的局域网络数据系统
CN106131193A (zh) * 2016-07-16 2016-11-16 柳州健科技有限公司 具有自学习功能的局域网络服务平台
CN107977381B (zh) * 2016-10-24 2021-08-27 华为技术有限公司 数据配置方法、索引管理方法、相关装置以及计算设备
CN110019191A (zh) * 2017-09-21 2019-07-16 阿里巴巴集团控股有限公司 数据库信息处理方法及装置
CN108881147B (zh) * 2017-12-29 2019-07-05 视联动力信息技术股份有限公司 一种视联网的数据处理方法和装置
CN110134661A (zh) * 2019-05-22 2019-08-16 东北大学 一种面向刻面的学术大数据存储查询方法
CN112306604B (zh) * 2020-08-21 2022-09-23 海信视像科技股份有限公司 一种传输文件的进度显示方法及显示设备
US11658917B2 (en) 2021-04-09 2023-05-23 Tekion Corp Selective offloading of bandwidth to enable large-scale data indexing
CN117596176B (zh) * 2024-01-17 2024-04-19 苏州元脑智能科技有限公司 一种网络状态测量方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280099A (ja) * 2006-04-07 2007-10-25 Hitachi Ltd 共通名前空間においてディレクトリ単位のマイグレーションを実行するシステム及び方法
US7788233B1 (en) * 2007-07-05 2010-08-31 Amazon Technologies, Inc. Data store replication for entity based partition
WO2012020471A1 (ja) * 2010-08-10 2012-02-16 株式会社日立製作所 計算機システムの管理方法、及び管理システム
JP2012507086A (ja) * 2008-10-24 2012-03-22 マイクロソフト コーポレーション パーティション化した拡張可能で可用性の高い構造化ストレージにおけるパーティション管理

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1143349A1 (en) * 2000-04-07 2001-10-10 IconParc GmbH Method and apparatus for generating index data for search engines
US7716168B2 (en) * 2005-06-29 2010-05-11 Microsoft Corporation Modifying table definitions within a database application
US8341345B2 (en) * 2005-08-08 2012-12-25 International Business Machines Corporation System and method for providing content based anticipative storage management
US7668825B2 (en) * 2005-08-26 2010-02-23 Convera Corporation Search system and method
US8214345B2 (en) * 2006-10-05 2012-07-03 International Business Machines Corporation Custom constraints for faceted exploration
JP5218060B2 (ja) * 2006-10-06 2013-06-26 日本電気株式会社 情報検索システムと情報検索方法ならびにプログラム
US8700005B1 (en) * 2007-05-21 2014-04-15 Amazon Technologies, Inc. Notification of a user device to perform an action
US20100011368A1 (en) * 2008-07-09 2010-01-14 Hiroshi Arakawa Methods, systems and programs for partitioned storage resources and services in dynamically reorganized storage platforms
JP4762289B2 (ja) * 2008-10-01 2011-08-31 株式会社日立製作所 特定パターンデータが格納される仮想ボリュームへの記憶領域の割り当てを制御するストレージシステム
CN102405460B (zh) * 2009-02-11 2016-05-04 艾梵尼达有限公司 虚拟存储系统及其运行方法
US8250026B2 (en) * 2009-03-06 2012-08-21 Peoplechart Corporation Combining medical information captured in structured and unstructured data formats for use or display in a user application, interface, or view
US20110131202A1 (en) * 2009-12-02 2011-06-02 International Business Machines Corporation Exploration of item consumption by customers
US8930332B2 (en) 2010-03-12 2015-01-06 Salesforce.Com, Inc. Method and system for partitioning search indexes
JPWO2011118427A1 (ja) * 2010-03-24 2013-07-04 日本電気株式会社 クエリ装置、クエリ分割方法、及びクエリ分割用プログラム
US8190593B1 (en) * 2010-04-14 2012-05-29 A9.Com, Inc. Dynamic request throttling
WO2012072879A1 (en) * 2010-11-30 2012-06-07 Nokia Corporation Method and apparatus for updating a partitioned index
WO2012085968A1 (en) * 2010-12-22 2012-06-28 Hitachi, Ltd. Storage apparatus and storage management method
US8620897B2 (en) * 2011-03-11 2013-12-31 Microsoft Corporation Indexing and searching features including using reusable index fields

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280099A (ja) * 2006-04-07 2007-10-25 Hitachi Ltd 共通名前空間においてディレクトリ単位のマイグレーションを実行するシステム及び方法
US7788233B1 (en) * 2007-07-05 2010-08-31 Amazon Technologies, Inc. Data store replication for entity based partition
JP2012507086A (ja) * 2008-10-24 2012-03-22 マイクロソフト コーポレーション パーティション化した拡張可能で可用性の高い構造化ストレージにおけるパーティション管理
WO2012020471A1 (ja) * 2010-08-10 2012-02-16 株式会社日立製作所 計算機システムの管理方法、及び管理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9507750B2 (en) 2012-10-12 2016-11-29 A9.Com, Inc. Dynamic search partitioning
US10289603B2 (en) 2012-10-12 2019-05-14 Amazon Technologies, Inc. Dynamic search partitioning

Also Published As

Publication number Publication date
KR20170054579A (ko) 2017-05-17
CN110096502A (zh) 2019-08-06
KR101782302B1 (ko) 2017-09-26
SG10201606363SA (en) 2016-09-29
KR20150066575A (ko) 2015-06-16
AU2013328901B2 (en) 2016-07-28
EP2907034A1 (en) 2015-08-19
AU2013328901A1 (en) 2015-05-14
WO2014059394A1 (en) 2014-04-17
CN104823169B (zh) 2018-12-21
BR112015008146A2 (pt) 2017-07-04
JP6339155B2 (ja) 2018-06-06
CA2888116A1 (en) 2014-04-17
IN2015DN03160A (ja) 2015-10-02
SG11201502828PA (en) 2015-05-28
AU2017245374B2 (en) 2018-08-09
CA2888116C (en) 2018-03-27
AU2016231488A1 (en) 2016-10-06
JP2017050012A (ja) 2017-03-09
CN104823169A (zh) 2015-08-05
AU2017245374A1 (en) 2018-01-18
AU2016231488B2 (en) 2017-09-21
KR101737246B1 (ko) 2017-05-17
EP2907034A4 (en) 2016-05-18

Similar Documents

Publication Publication Date Title
JP6339155B2 (ja) ネットワークにおける検索可能なデータに対するインデックス構成
US11265378B2 (en) Cloud storage methods and systems
US9411839B2 (en) Index configuration for searchable data in network
US10289603B2 (en) Dynamic search partitioning
TWI478558B (zh) 用以提供內容項目關聯性之分析與視覺化的方法、裝置與電腦程式產品
KR102626764B1 (ko) 상호작용형 정보 인터페이스
US9245026B1 (en) Increasing the relevancy of search results across categories
US10848434B2 (en) Performance management for query processing
US11250039B1 (en) Extreme multi-label classification
US10311160B2 (en) Cloud search analytics
US9852135B1 (en) Context-aware caching

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160816

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170307