[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2017050012A - Index constitution for retrievable data in network - Google Patents

Index constitution for retrievable data in network Download PDF

Info

Publication number
JP2017050012A
JP2017050012A JP2016211567A JP2016211567A JP2017050012A JP 2017050012 A JP2017050012 A JP 2017050012A JP 2016211567 A JP2016211567 A JP 2016211567A JP 2016211567 A JP2016211567 A JP 2016211567A JP 2017050012 A JP2017050012 A JP 2017050012A
Authority
JP
Japan
Prior art keywords
data
storage allocation
partition
size
computer
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.)
Granted
Application number
JP2016211567A
Other languages
Japanese (ja)
Other versions
JP6339155B2 (en
Inventor
ジョナサン・マイケル・ゴールドバーグ
Michael Goldberg Jonathan
ジョナサン・ブレーク・ハンドラー
Blake Handler Jonathan
アシフ・マンソール・アリ・マクハニ
Mansoor Ali Makhani Asif
エケチ・カール・エドズル・ンウォーカー
Karl Edozle Nwokah Ekechi
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.)
A9 com Inc
Original Assignee
A9 com Inc
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 A9 com Inc filed Critical A9 com Inc
Publication of JP2017050012A publication Critical patent/JP2017050012A/en
Application granted granted Critical
Publication of JP6339155B2 publication Critical patent/JP6339155B2/en
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/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

PROBLEM TO BE SOLVED: To automatically generate a retrieval index for retrievable data received from a computing device.SOLUTION: Data to be received in a network service may include a plurality of data fields and each data field has one or more related values. The data fields and their related values are analyzed, thereby discriminating a data field type for the data fields and a retrieval option that should be validated for the data fields. At least partially based on the data field type and the retrieval option, a retrieval index constitution/schemer is generated. At least partially based on the generated retrieval index constitution/schemer, a retrieval index for data is generated. The network service may also convert the data into a format that can be compared with the retrieval index.SELECTED DRAWING: Figure 5

Description

コンピューティングデバイスは、インターネットなどのネットワーク上で通信するのに使用されることが多い。サービスプロバイダによって供給されるネットワークベースのサービスは、ますます当たり前となっている。コンピューティングデバイスにより使用/読み出されることになる検索可能なデータを記憶すること、または、コンピューティングデバイスに追加的な処理能力を提供すること、などのサービスを提供することができるネットワークベースのサービスに接続するのに、コンピューティングデバイスが頻繁に使用される。検索可能なデータをネットワークベースで記憶することについて、コンピューティングデバイスのユーザは通常、それらのデータに対する構成および/またはフォーマットを選択する必要があり、それによって、それらのデータを、ネットワークベースのサービスによって索引付けおよび記憶することができる。従来のアプローチは通常、ユーザが、それらのデータに対する適切な構成を判定することを必要とする。従来のアプローチはまた、ユーザのデータが従う必要があるフォーマットを要求することがあり、それによって、ユーザが、それらのデータをそのフォーマットに変換することを必要とする。このことは、記憶および検索のためにネットワークベースのサービスを使用することを望むユーザにとって不便であり、面倒であり、または困難であることがあり、それによって、ユーザ経験全体を低減させる。   Computing devices are often used to communicate over networks such as the Internet. Network-based services provided by service providers are becoming increasingly commonplace. To network-based services that can provide services such as storing searchable data that will be used / read by a computing device or providing additional processing power to a computing device Computing devices are frequently used to connect. With respect to storing searchable data on a network basis, computing device users typically need to select the configuration and / or format for those data so that the data can be sent by network-based services. Can be indexed and stored. Conventional approaches typically require the user to determine the appropriate configuration for their data. Conventional approaches may also require a format that the user's data needs to follow, thereby requiring the user to convert the data to that format. This can be inconvenient, cumbersome or difficult for users who want to use network-based services for storage and retrieval, thereby reducing the overall user experience.

本開示に従った種々の実施形態が、以下の図面を参照して説明される。
種々の実施形態の態様を利用することができる例示的な環境を示す図である。 ネットワーク化された環境において、検索可能なデータに対するインデックス構成についての例示的なシステムの実施形態を示す図である。 ネットワーク化された環境において、検索可能なデータに対するインデックス構成を利用することができる、例示的なウェブブラウジング環境を示す図である。 種々の実施形態に従って生成することができる、例示的な検索インデックスを示す図である。 ネットワーク化された環境における検索可能なデータに対するインデックス構成についての例示的な方法の実施形態を示す図である。 種々の実施形態の態様を実現するのに使用することができる例示的なデバイスを示す図である。 図6で示したデバイスなどのクライアントデバイスの例示的な構成要素を示す図である。 種々の実施形態を実現することができる環境を示す図である。
Various embodiments in accordance with the present disclosure are described with reference to the following drawings.
FIG. 6 illustrates an example environment in which aspects of various embodiments can be utilized. FIG. 2 illustrates an exemplary system embodiment for indexing for searchable data in a networked environment. FIG. 1 illustrates an example web browsing environment that can utilize an index structure for searchable data in a networked environment. FIG. 6 illustrates an exemplary search index that can be generated in accordance with various embodiments. FIG. 4 illustrates an example method embodiment for indexing for searchable data in a networked environment. FIG. 11 illustrates an example device that can be used to implement aspects of various embodiments. FIG. 7 illustrates exemplary components of a client device such as the device shown in FIG. FIG. 6 illustrates an environment in which various embodiments can be implemented.

少なくとも1つのネットワーク上で受信されるデータに対する検索インデックスを生成するのに使用することができる、インデックス構成を生成するシステムおよび方法が説明される。少なくともいくつかの実施形態は、コンピューティングデバイスが、ネットワーク(例えば、インターネット)上で、ネットワークサービス(すなわち、ネットワークサービスプロバイダ)により提供される記憶域割り当て上に、データをアップロードすることを可能にする。ネットワークサービスは、アップロードされたデータを分析して、複数のデータフィールドにおける各データフィールドに対するデータフィールドのタイプ(すなわち、データフィールドタイプ)を判定することができる。ネットワークサービスは、アップロードされたデータを分析して、アップロードされたデータに含まれる複数のデータフィールドにおける各データフィールドに対する1または複数の検索オプションを有効にするか否かを判定することができる。   Systems and methods for generating an index configuration that can be used to generate a search index for data received on at least one network are described. At least some embodiments allow a computing device to upload data over a network (eg, the Internet) and over a storage allocation provided by a network service (ie, a network service provider). . The network service can analyze the uploaded data to determine the data field type (ie, data field type) for each data field in the plurality of data fields. The network service can analyze the uploaded data and determine whether to enable one or more search options for each data field in the plurality of data fields included in the uploaded data.

少なくともいくつかの実施形態は、コンピューティングデバイスが、ネットワーク(例えば、インターネット)上で、ネットワークサービス(すなわち、ネットワークサービスプロバイダ、ネットワークベースのサービスなど)により提供される記憶域割り当て上に、データをアップロードすることを可能にする。1または複数のユーザ/エンティティ(例えば、1または複数のコンピューティングデバイスを使用して)は、ネットワークサービスによって提供することができる、検索インデックスを利用してネットワーク上でアップロードされたデータを検索することができる。   At least some embodiments allow a computing device to upload data over a network (eg, the Internet) and over a storage allocation provided by a network service (ie, network service provider, network-based service, etc.) Make it possible to do. One or more users / entities (eg, using one or more computing devices) search for uploaded data on the network using a search index that can be provided by a network service. Can do.

いくつかの実施形態では、アップロードされたデータは、複数のデータフィールドを含むことができる。ネットワークサービスは、アップロードされたデータを分析して、複数のデータフィールドにおける各データフィールドに対するデータフィールドのタイプ(すなわち、データフィールドタイプ)を判定することができる。例えば、各データフィールドは、整数型、テキスト型、またはリテラル型を含むタイプのフィールドとすることができる。   In some embodiments, the uploaded data can include multiple data fields. The network service can analyze the uploaded data to determine the data field type (ie, data field type) for each data field in the plurality of data fields. For example, each data field can be a field of a type including an integer type, a text type, or a literal type.

さらに、ネットワークサービスは、アップロードされたデータを分析して、アップロードされたデータに含まれる複数のデータフィールドにおける各データフィールドに対する1または複数の検索オプションを有効にするか否かを判定することができる。例えば、ネットワークサービスは、各それぞれのデータフィールドに対し、生成されることになる検索インデックスにおけるそれぞれのデータフィールドを含むオプションを有効にするか否かを判定することができる。ネットワークサービスはまた、各それぞれのデータフィールドに対し、それぞれのデータフィールドに対するファセット数を算出するオプションを有効にするかを判定することができる。さらに、ネットワークサービスは、各それぞれのデータフィールドに対し、検索クエリに応答して、それぞれのデータフィールドに関連付けられた値を返す/提供するオプションを有効にするかを判定することができる。   In addition, the network service can analyze the uploaded data to determine whether to enable one or more search options for each data field in the plurality of data fields included in the uploaded data. . For example, the network service can determine for each respective data field whether to enable an option that includes the respective data field in the search index to be generated. The network service can also determine for each respective data field whether to enable the option of calculating the number of facets for each data field. Further, the network service may determine for each respective data field whether to enable an option to return / provide values associated with the respective data field in response to the search query.

いくつかの実施形態では、ネットワークサービスは、判定されたデータフィールドタイプ(複数可)および有効にされるべき検索オプション(複数可)に少なくとも部分的に基づいて、データに対するインデックス構成(すなわち、検索インデックス構成、スキーマ、インデックス設定など)を生成することができる。ネットワークサービスは、インデックス構成に少なくとも部分的に基づいて、データに対する検索インデックスを生成することができる。   In some embodiments, the network service may configure the index configuration (ie, search index) for the data based at least in part on the determined data field type (s) and the search option (s) to be enabled. Configuration, schema, index settings, etc.). The network service may generate a search index for the data based at least in part on the index configuration.

種々の他の機能および利点は、種々の実施形態に従って提供されるように、以下、説明および提案される。   Various other features and advantages are described and proposed below, as provided in accordance with various embodiments.

図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を通信することができる(および、その逆も同様である)。   FIG. 1 illustrates an exemplary environment 100 in which aspects of various embodiments can be utilized. The exemplary environment 100 includes at least one computing device 102, a network 104 (eg, the Internet, an intranet, a local network, a local area network, etc.), and a network service 106 (ie, a network service provider, network-based service, etc.). Can be provided. At least one computing device 102 may be communicatively connected to the network service 106 over the network 104. In some embodiments, the computing device 102 can communicate with the network service 106 without the network 104, such as the Internet. As shown in FIG. 1, there may also be a user 108 of at least one computing device 102, or other entity 108 (eg, an individual, a company, an organization, a group, etc.). A user or entity 108 can communicate data 110 from the at least one computing device 102 to the network service 106 over the network 104 (and vice versa).

いくつかの実施形態では、ネットワークサービス106は、ネットワーク104に接続された1もしくは複数のホストもしくはサーバを備えることができ、および/またはそれらを利用することができる。例えば、ネットワークサービス106は、記憶域スペースを、デバイス102のユーザまたは別のエンティティ(複数可)(例えば、会社、組織、グループ、個人など)108などの顧客に賃貸しすることができる。したがって、コンピューティングデバイス102のユーザ/エンティティ108は、ネットワーク104を使用して、ネットワークサービス106上に、デバイス102からのデータを記憶することができる。言い換えると、ユーザ/エンティティ108および/またはデバイス102は、ネットワークサービス106を介して、ネットワークベースのコンピューティング記憶装置を利用することができる。   In some embodiments, the network service 106 may comprise and / or utilize one or more hosts or servers connected to the network 104. For example, the network service 106 may lease storage space to a customer, such as a user of the device 102 or another entity (s) (eg, a company, organization, group, individual, etc.) 108. Accordingly, the user / entity 108 of the computing device 102 can use the network 104 to store data from the device 102 on the network service 106. In other words, user / entity 108 and / or device 102 can utilize network-based computing storage via network service 106.

一例では、図1に示すように、コンピューティングデバイス102は、データ110を、ネットワークサービス106に記憶されるようにネットワーク104上で送信することができる。データ110は、検索、データベースの記憶、アプリケーションの実行、仮想マシンの実行、オペレーティングシステムの実行のためなど、ネットワークベースのコンピューティングにおいて利用される任意のデータとすることができる。コンピューティングデバイス102は、データ110を、サービス106によって提供される記憶域割り当て上に記憶されるように送信することができる。例えば、ユーザ/エンティティ108は、サービス106上の記憶域スペースを購入または賃借りすることができ、ならびに、記憶域割り当てが、ユーザ/エンティティ108に割り当ておよび割り振られ得る。いくつかの実施形態では、ユーザ/エンティティ108は、サービス106上で、特定のアカウントおよび/または記憶域割り当てを有することができ、エンティティ108に割り当ておよび割り振りされた記憶域スペース(例えば、記憶域割り当て)を、エンティティ108に対するアカウントに関連付けることができる。   In one example, as shown in FIG. 1, computing device 102 may transmit data 110 over network 104 to be stored on network service 106. Data 110 may be any data utilized in network-based computing, such as for searching, database storage, application execution, virtual machine execution, operating system execution, and the like. The computing device 102 can transmit the data 110 to be stored on the storage allocation provided by the service 106. For example, the user / entity 108 can purchase or rent storage space on the service 106, and storage allocations can be assigned and allocated to the user / entity 108. In some embodiments, a user / entity 108 may have a specific account and / or storage allocation on the service 106 and storage space allocated and allocated to the entity 108 (eg, storage allocation) ) Can be associated with an account for entity 108.

エンティティ108はまた、ネットワークサービス106に、データ110に対する検索インデックスを提供することを望む場合がある。従来のアプローチは通常、エンティティ108が最初に、索引付けられることになるデータ110に対する構成(すなわち、インデックス構成、スキーマ、インデックス設定など)を提供することを必要とし、または、従来のアプローチは、エンティティのデータ110が従う必要がある構成/フォーマット(例えば、検索データフォーマット(SDF))を必要とすることがあり、したがって、エンティティ110に、そのデータ110を必要とされる構成に変換することを要求する。しかしながら、このことは、エンティティ108にとって不便であり、面倒であり、または困難であり得る。   The entity 108 may also wish to provide the network service 106 with a search index for the data 110. Conventional approaches typically require that entity 108 first provide a configuration (ie, index configuration, schema, index settings, etc.) for data 110 to be indexed, or conventional approaches May require a configuration / format (e.g., Search Data Format (SDF)) that the data 110 needs to comply with, thus requiring the entity 110 to convert the data 110 into the required configuration. To do. However, this can be inconvenient, cumbersome or difficult for the entity 108.

いくつかの実施形態では、エンティティ108は、データ110をネットワークサービス106に送信することができ、ならびに、ネットワークサービス106は自動的に(すなわち、エンティティ108からの命令または要求なしに)、データ110を分析し、およびデータ110に対するインデックス構成(例えば、検索インデックス構成、検索インデックススキーマなど)を生成することができる。例えば、いくつかの実施形態では、ネットワークサービス106は、データ110に含まれる1または複数のデータフィールドに対するデータフィールド112のタイプを判定し、およびデータ110に含まれる1または複数のデータフィールドに対して有効とされるべき検索オプション114を判定することによって、データ110を分析することができる。   In some embodiments, the entity 108 can send the data 110 to the network service 106, as well as the network service 106 automatically (ie, without a command or request from the entity 108) to send the data 110. Analyzing and generating an index configuration (eg, search index configuration, search index schema, etc.) for data 110. For example, in some embodiments, network service 106 determines the type of data field 112 for one or more data fields included in data 110 and for one or more data fields included in data 110. Data 110 can be analyzed by determining search options 114 to be enabled.

データフィールド112のタイプを判定することに関して、データ110(例えば、文書、ファイルなど)を、データフィールドの整数型、データフィールドのリテラル型、またはデータフィールドのテキスト型などに関連付けることができる、複数のデータフィールドタイプが存在することができる。いくつかの実施形態では、データ110は、複数のデータフィールドを含むことができ、各データフィールドは値を含むことができる(例えば、データフィールド「名前」は、「ABCDブランドのシャツ」の値を有することができ、データフィールド「価格」は、「$20」の値を有することができるなど)。ネットワークサービス106は、データ110に含まれる複数のデータフィールドを分析して、その複数における各データフィールドに対するデータフィールドタイプを判定することができる。   With respect to determining the type of the data field 112, the data 110 (eg, document, file, etc.) can be associated with a data field integer type, a data field literal type, or a data field text type, etc. There can be data field types. In some embodiments, the data 110 may include a plurality of data fields, and each data field may include a value (eg, the data field “name” may include a value of “ABCD brand shirt”). Data field “price” may have a value of “$ 20”, etc.). The network service 106 can analyze a plurality of data fields included in the data 110 to determine a data field type for each data field in the plurality.

例えば、各データフィールドに対し、ネットワークサービス106は、各それぞれのデータフィールドが、指定された整数量閾値を上回る量の整数を含むか(例えば、データフィールド「価格」の値が全て整数)を判定することができ、そうである場合、そのそれぞれのデータフィールドを、整数のデータフィールドタイプであると判定することができる。ネットワークサービス106はまた、例えば、指定された下限リテラル量閾値を上回るが、指定された上限リテラル量閾値未満の量のアルファベット文字を有するデータフィールドに関連付けられた値、指定されたリテラル相違量閾値未満であるデータフィールドに関連付けられたいくつかの相違する値、指定されたリテラル相違割合(%)閾値未満である相違する値の割合(%)、または指定されたリテラル長閾値未満である長さの値、の少なくとも1つを判定することによって、データフィールドがリテラルのデータフィールドタイプのフィールドであるかを判定することができる。いくつかの実施形態では、ネットワークサービス106は例えば、データフィールドの値の長さ、データフィールドの値における相違する値の頻度および/または割合(%)を考慮して、テキスト型のフィールドであるとしてデータフィールドを識別することができ、データフィールドの値において多くの相違する値が存在し、およびデータフィールドの値が非常に長い(例えば、閾値を上回る多数のアルファニューメリック文字を有する)場合、データフィールドはテキスト型のフィールドである可能性が高い。いくつかの実施形態では、データフィールドが整数型、リテラル型のフィールドでない場合、データフィールドはテキスト型のフィールドとすることができる。   For example, for each data field, the network service 106 determines whether each respective data field contains an integer whose amount exceeds a specified integer amount threshold (eg, the value of the data field “price” is all integers). And if so, each of the data fields can be determined to be an integer data field type. The network service 106 may also be, for example, a value associated with a data field that has an alphabetic character with an amount that is above the specified lower literal amount threshold but less than the specified upper literal amount threshold, less than the specified literal difference amount threshold. A number of different values associated with a data field that is, a percentage of different values that are less than a specified literal difference percentage threshold, or a length that is less than a specified literal length threshold By determining at least one of the values, it can be determined whether the data field is a literal data field type field. In some embodiments, the network service 106 is a text-type field, taking into account, for example, the length of the value of the data field, the frequency and / or percentage of different values in the value of the data field. If a data field can be identified, there are many different values in the value of the data field, and the value of the data field is very long (eg, has a number of alphanumeric characters above a threshold), the data field Is likely a text-type field. In some embodiments, if the data field is not an integer, literal type field, the data field can be a text type field.

検索オプション114を判定することに関して、ネットワークサービス106は、データ110(のデータフィールド)に対して有効にされるべき1または複数の検索オプション114を判定することができる。例えば、データ110に含まれるデータフィールドに対するデータフィールドタイプを判定したら、ネットワークサービス106は、生成されることになる検索インデックスにデータフィールドを含めるオプションを有効にするか否か、データフィールドに対するファセット数を算出するオプションを有効にするか否か、および/または、データタイプに対する検索値を返す/提供するオプションを有効にするか否か、を判定することができる。   With respect to determining the search option 114, the network service 106 may determine one or more search options 114 to be enabled for the data 110 (data field thereof). For example, once the data field type for the data field included in the data 110 is determined, the network service 106 determines whether to enable the option to include the data field in the search index to be generated, and determines the number of facets for the data field. It can be determined whether to enable the option to calculate and / or whether to enable the option to return / provide search values for the data type.

例えば、データフィールドに対するデータフィールドタイプがテキストであると判定された(例えば、データフィールドが「製品説明」であり、および値が長い節である)場合、ネットワークサービス106は、検索インデックスにデータフィールド(および値)を含めないオプションを選択することができる。別の例では、整数データフィールドタイプを有するデータフィールドに対し(例えば、データフィールドが「製造年」であり、および値が1年である)、ネットワークサービス106は、生成される検索インデックスにデータフィールドを含めるオプションを有効にすることを選択することができ、および、サービス106は、データフィールドに対するファセット数を算出するオプションを有効にすることができる。ファセット数は、いくつの検索結果が、データフィールドに対する或るカテゴリに分類されるかの数とすることができる。例えば、データフィールドが「製造年」である場合、ネットワークサービス106は、いくつの検索結果が或るカテゴリに関連付けられるかを示す、ファセット数を提供することが理にかなっているかを判定することができ、例えば、「1984(23)、2002(12)、2010(18)」は、「製造年」データフィールドに関して、23の検索結果が「1984」に関連付けられ、12の検索結果が「2002」に関連付けられ、および18の検索結果が「2010」に関連付けている、ファセット数の例を示す。   For example, if the data field type for the data field is determined to be text (eg, the data field is “Product Description” and the value is a long clause), the network service 106 includes the data field ( And options that do not include values). In another example, for a data field having an integer data field type (eg, the data field is “Production Year” and the value is 1 year), the network service 106 includes the data field in the generated search index. And the service 106 can enable the option of calculating the number of facets for the data field. The number of facets can be the number of search results that fall into a certain category for the data field. For example, if the data field is “year of manufacture”, the network service 106 may determine whether it makes sense to provide a facet number that indicates how many search results are associated with a category. For example, “1984 (23), 2002 (12), 2010 (18)” has 23 search results associated with “1984” and 12 search results “2002” with respect to the “year of manufacture” data field. And an example of the number of facets associated with 18 and the 18 search results associated with “2010”.

いくつかの実施形態では、ネットワークサービス106はまた、データフィールドに対する値を返すことを有効にすることを決定することができる。例えば、全ての検索可能なデータフィールド(および値)が、検索要求に応答して返される(例えば、読み出され、および提示される)必要はない。ネットワークサービス106は、データフィールドに対する値を返すか否かを決定することができる。   In some embodiments, the network service 106 may also decide to enable returning a value for the data field. For example, not all searchable data fields (and values) need be returned (eg, read and presented) in response to a search request. The network service 106 can determine whether to return a value for the data field.

ここで、データ110に対する構成を生成することに目を向けると、ネットワークサービスは自動的に(すなわち、エンティティ108から指示なしに)、データ110に対する構成(例えば、検索インデックス構成、スキーマなど)を生成することができる。いくつかの実施形態では、構成は、少なくとも部分的には、どのようにデータ110を索引付けするかを判定することを補助することができ、インデックス構成は少なくとも部分的には、どのようにデータ110が索引付けされるかを決定することができる。構成またはスキーマは、データ110に含まれる各データフィールドに対するデータフィールドタイプを指定することができ、各データフィールドが検索可能であるかを示し、各データフィールドがランク付け可能であるか(例えば、ソート可能であるか)、および、インデックスを構築するのに有用である他の類似の情報を示すことができる。索引付けされるべきデータ110に対する構成を生成することに続いて、ネットワークサービス106は、生成された構成に少なくとも部分的に基づいて、データ110に対する検索インデックスを生成することができる。   Here, looking at generating a configuration for data 110, the network service automatically generates a configuration for data 110 (eg, search index configuration, schema, etc.) automatically (ie, without instruction from entity 108). can do. In some embodiments, the configuration can help determine, at least in part, how to index the data 110, and the index configuration at least in part how the data can be indexed. It can be determined whether 110 is indexed. The configuration or schema can specify a data field type for each data field included in the data 110, indicates whether each data field is searchable, and whether each data field can be ranked (eg, sorted) Possible) and other similar information useful for building the index. Subsequent to generating a configuration for data 110 to be indexed, network service 106 may generate a search index for data 110 based at least in part on the generated configuration.

図2は、ネットワーク化された環境において検索可能なデータに対するインデックス構成を利用することができる、例示的なウェブブラウジング環境200を示す。例示的なウェブブラウジング環境200は、ウェブブラウザなどの、アプリケーションによってレンダリングされている例示的なウェブページ202を備えることができる。この例では、ウェブページ202を、ドメインABCD.comに関連付けられたネットワークサービスによって提供することができる。   FIG. 2 illustrates an exemplary web browsing environment 200 that can utilize an index structure for searchable data in a networked environment. The example web browsing environment 200 may comprise an example web page 202 being rendered by an application, such as a web browser. In this example, the web page 202 is assigned to the domain ABCD. com can be provided by a network service associated with the com.

ユーザ/エンティティ(例えば、ネットワークサービスの顧客)は、小売業者であり得、および、例えば、シャツを販売することに関連するデータをアップロードすることができる。データを、ネットワークサービスによって索引付けおよび記憶することができ、ならびに、ユーザ/エンティティの潜在的な顧客などの他の者が検索可能とすることができる。ネットワークサービスは、データを分析して、データに含まれるデータフィールドの各々に対するデータフィールドのタイプ(すなわち、データフィールドタイプ)を判定することができる。例えば、シャツを販売することに関連するデータは、「色」206、「サイズ」208、「価格」210、「説明」および他のフィールドなどのデータフィールドを含むことができる。ネットワークサービスは、各データフィールドに対する値を分析して、各それぞれのデータフィールドに対するタイプを判定することができる。ネットワークサービスはまた、1または複数のオプション(例えば、検索オプション)を、各データフィールドに対して有効とするかを判定することができる。ネットワークサービスは続いて、索引付けされることになるデータに対する構成/スキーマを生成することができる。そして、ネットワークサービスは、構成/スキーマに基づいて、データに対するインデックスを生成することができる。   A user / entity (eg, a customer of a network service) can be a retailer and can upload data related to, for example, selling a shirt. Data can be indexed and stored by network services, and can be searchable by others such as potential customers of the user / entity. The network service can analyze the data to determine the type of data field (ie, data field type) for each of the data fields included in the data. For example, data associated with selling a shirt may include data fields such as “color” 206, “size” 208, “price” 210, “description” and other fields. The network service can analyze the value for each data field to determine the type for each respective data field. The network service may also determine whether one or more options (eg, search options) are enabled for each data field. The network service can then generate a configuration / schema for the data to be indexed. The network service can then generate an index for the data based on the configuration / schema.

例えば、ネットワークサービスは、データフィールド「色」を識別することができ、その値(例えば、「赤」、「青」、「白」、「緑など)がアルファベット/リテラルであることを判定することができ、および、「色」データフィールドのタイプをリテラル型として識別し得る。(この例では、「色」データフィールドに関連付けられたデータ、および値(例えば、「赤」、「青」、「白」、「緑」など)を、エンティティによってアップロードすることができる)。別の例では、ネットワークサービスは、アップロードされたデータの少なくとも一部における「サイズ」データフィールドを識別することができ、および、「サイズ」データフィールドに含まれる値が数値であることを判定することができる。この例では、ネットワークサービスは、「サイズ」データフィールドが整数型であることを判定し得る。さらなる例では、ネットワークサービスは、アップロードされたデータの少なくとも一部における「説明」データフィールドに対する値を識別することができ、ならびに、値が数字とアルファベット文字との両方を含むこと、値が文字の数が長いこと、および/または、値が相違する用語/語句/記号を含むこと、を判定し得る。この例では、ネットワークサービは、「説明」データフィールドがテキスト型であることを判定してもよい。   For example, the network service can identify the data field “color” and determine that its value (eg, “red”, “blue”, “white”, “green”, etc.) is alphabetic / literal. And the type of the “color” data field can be identified as a literal type. (In this example, data and values (eg, “red”, “blue”, “white”, “green”, etc.) associated with the “color” data field can be uploaded by the entity). In another example, the network service may identify a “size” data field in at least a portion of the uploaded data and determine that the value contained in the “size” data field is a number. Can do. In this example, the network service may determine that the “size” data field is of integer type. In a further example, the network service can identify a value for the “description” data field in at least a portion of the uploaded data, as well as that the value contains both numbers and alphabetic characters, It may be determined that the number is long and / or includes terms / phrases / symbols with different values. In this example, the network service may determine that the “description” data field is text type.

検索オプションに関して、ネットワークサービスは、データフィールドの各々に対して、生成されることになる検索インデックスにそれぞれのデータフィールドを含めるオプションを有効にするか否かを判定することができる。例えば、いくつかの実施形態では、「説明」データフィールド(および対応する値)を、検索インデックスから除外することができる。そうである場合、クエリが検索インデックスに関して実行されるとき、クエリは「説明」データフィールドを検索しない。しかしながら、いくつかの実施形態は、検索インデックスに「説明」データフィールドおよび値を含めることができ、および含める。   With respect to search options, the network service can determine for each of the data fields whether to enable the option to include the respective data field in the search index to be generated. For example, in some embodiments, the “description” data field (and corresponding value) can be excluded from the search index. If so, when the query is run on the search index, the query does not search the “description” data field. However, some embodiments can and do include “description” data fields and values in the search index.

さらに、ネットワークサービスは、各データフィールドに対するファセット数を算出するオプションを有効にするか否かを判定することができる。上述のように、ファセット数は、検索クエリに一致したいくつの結果が、特定のデータフィールドに対する値(または値の範囲)を有するかを示す。例えば、図2に示すように、「赤」の値を有する「色」データフィールドは、23のファセット数を有し(すなわち、「赤」のシャツに対して23の検索結果)、「色」データフィールドの「青」の値は、28のファセット数を有する(すなわち、「青」のシャツに対して28の検索結果)、などである。いくつかの実施形態では、値は重複することがある(すなわち、正確に一致しなくてもよい)。例えば、青および赤のストライプを有するシャツを、「青」および「赤」の両方の値に関連付けることができ、ならびに/または他の値に関連付けることができる。いくつかの実施形態では、ネットワークサービスは、ファセット数をデータフィールドのいくつかに対して算出すべきであると判定することができるが、必ずしもデータフィールドの全てに対してではない。例えば、ネットワークサービスは、「色」、「サイズ」および「価格」に対するファセット数が存在すべきであるが、「説明」に対しては、そうではないことを判定することができる。   Further, the network service can determine whether to enable the option of calculating the number of facets for each data field. As described above, the facet number indicates how many results matching the search query have a value (or range of values) for a particular data field. For example, as shown in FIG. 2, a “color” data field having a value of “red” has a facet number of 23 (ie, 23 search results for a “red” shirt) and “color” A “blue” value in the data field has 28 facet numbers (ie, 28 search results for a “blue” shirt), and so on. In some embodiments, the values may overlap (ie, they may not match exactly). For example, a shirt with blue and red stripes can be associated with both “blue” and “red” values and / or can be associated with other values. In some embodiments, the network service may determine that the facet number should be calculated for some of the data fields, but not necessarily for all of the data fields. For example, the network service may determine that there should be facet numbers for “color”, “size” and “price” but not for “description”.

さらに、ネットワークサービスは、データフィールドに対する値を返すことを有効にするか否かを判定することができる。例えば、データに含まれるデータフィールド「内部製品識別番号」、すなわちエンティティに対して内部にある製品識別番号であり、エンティティの顧客に見られることを意図していないデータフィールドの値が存在することができ、したがって、ネットワークサービスは、そのようなデータフィールドに対する値を返すことを有効にしないように決定することができる。   Further, the network service can determine whether to enable returning a value for the data field. For example, the data field “Internal Product Identification Number” included in the data, that is, the product identification number internal to the entity, and there may be a value for the data field that is not intended to be seen by the entity customer. The network service can therefore decide not to validate returning a value for such a data field.

追加のオプション、ならびに当業者が認識する他の項目に関連するデータが存在し得る。例えば、ネットワークサービスは、データフィールドをランク付け可能(例えば、ソート可能)とするオプションを有効にするか否かを判定することができる。図2を参照して、いくつかの実施形態では、「価格」データフィールドを、その値(例えば、最低価格から最高価格まで、最高価格から最低価格までなど)によって、ランク付け/ソートすることができ、および、「色」データフィールドを、アルファベット順にソートすることができる(図2では示さない)、などである。別の例では(図示しない)、音楽、ビデオ、本、写真などのメディアファイルに関連するデータが存在することができる。メディアファイルに対する例示的なデータフィールドは、「タイトル」、「アーチスト/作者」、「作成年」、「価格」、「評価」などを含むことができるが、それらに限定されない。   There may be data relating to additional options, as well as other items recognized by those skilled in the art. For example, the network service may determine whether to enable an option that enables data fields to be ranked (eg, sortable). Referring to FIG. 2, in some embodiments, the “Price” data field may be ranked / sorted by its value (eg, from lowest price to highest price, highest price to lowest price, etc.). And “color” data fields can be sorted alphabetically (not shown in FIG. 2), and so on. In another example (not shown), there can be data associated with media files such as music, videos, books, photos, and the like. Exemplary data fields for a media file can include, but are not limited to, “title”, “artist / author”, “creation year”, “price”, “rating”, and the like.

データに含まれるデータフィールドのタイプ、およびデータに含まれるデータフィールドに対する1または複数の検索オプションを判定したら、ネットワークサービスは、データに対する構成(すなわち、検索インデックス構成、スキーマなど)を生成することができ、構成を生成することは、判定されたデータフィールドタイプおよび検索オプションに少なくとも部分的に基づいている。   Once the type of data field included in the data and one or more search options for the data field included in the data are determined, the network service can generate a configuration for the data (ie, search index configuration, schema, etc.). Generating the configuration is based at least in part on the determined data field type and search options.

構成を生成したことに続いて、ネットワークサービスは、生成された構成に少なくとも部分的に基づいて、データに対する検索インデックスを生成することができる。したがって、エンティティにより提供されるデータを、ネットワークサービスに記憶することができ、およびネットワークサービスにより生成されたデータに対する検索インデックスとともに記憶することができる。   Following generating the configuration, the network service may generate a search index for the data based at least in part on the generated configuration. Thus, data provided by an entity can be stored in a network service and can be stored with a search index for data generated by the network service.

図3は、ネットワーク化された環境において、検索可能なデータに対するインデックス構成についての例示的なシステムの実施形態300を示す。例示的なシステムの実施形態300は、システムコントローラ302、少なくとも1つの通信送受信機304、データフィールドタイプアナライザ306、検索オプションアナライザ308、インデックス構成ジェネレータ310、インデックスジェネレータ312、および少なくとも1つの記憶域割り当て314を備えることができる。   FIG. 3 illustrates an exemplary system embodiment 300 for index configuration for searchable data in a networked environment. The exemplary system embodiment 300 includes a system controller 302, at least one communication transceiver 304, a data field type analyzer 306, a search option analyzer 308, an index configuration generator 310, an index generator 312, and at least one storage allocation 314. Can be provided.

システムコントローラ302は、ネットワーク化された環境において、システムが検索可能なデータに対するインデックス構成についての種々の動作を実行することを促進することができる。システムコントローラ302は、少なくとも1つの通信送受信機304と通信して、システム300の外部の1もしくは複数のソースへのデータ送信および/またはそれらからのデータ受信を促進し、ならびにシステム間でのデータ通信を促進することができる。   The system controller 302 can facilitate performing various operations on the index configuration for searchable data in a networked environment. System controller 302 communicates with at least one communication transceiver 304 to facilitate data transmission to and / or data reception from one or more sources external to system 300, and data communication between systems. Can be promoted.

通信送受信機304を介してシステム300により受信されたデータ(例えば、エンティティから)を、データフィールドタイプアナライザ306によって分析して、データに含まれるデータフィールドの各々に関連するタイプを判定することができる。また、データを、検索オプションアナライザ308によって分析して、データに含まれるデータフィールドの各々に関して1または複数の検索オプションを有効にするか否かを判定することができる。判定されたデータフィールドタイプおよび1または複数の判定された検索オプションに少なくとも部分的に基づいて、インデックス構成ジェネレータ310は、検索インデックス構成/スキーマを生成することができる。生成された検索インデックス構成/スキーマに少なくとも部分的に基づいて、インデックスジェネレータ312は、データに対する検索インデックスを生成することができる。データおよびデータに対して生成された検索インデックスを、1または複数の記憶域割り当て314上に記憶することができる。   Data (eg, from an entity) received by system 300 via communication transceiver 304 can be analyzed by data field type analyzer 306 to determine the type associated with each of the data fields included in the data. . The data can also be analyzed by a search option analyzer 308 to determine whether to enable one or more search options for each of the data fields included in the data. Based at least in part on the determined data field type and the one or more determined search options, the index configuration generator 310 can generate a search index configuration / schema. Based at least in part on the generated search index configuration / schema, the index generator 312 can generate a search index for the data. Data and search indexes generated for the data can be stored on one or more storage allocations 314.

例示的なシステム300の種々の構成要素および/または一部を、ハードウェア、ソフトウェア、または両方の組み合わせとして実現することができることが企図される。例えば、システム300の種々の部分を、回路、プロセッサ、アプリケーション、プログラミングコードの一部、アルゴリズム、またはそれらの任意の組み合わせなどを介して実現することができる。また、図3は、例であり、および、単に例示的な目的のために使用されることが意図されることが企図される。例えば、種々の構成要素は、図3に従って構成される必要はない。いくつかの実施形態では、種々の構成要素は、緊密に相互に結合される必要はなく、代わりに、さらなる分散型システムにわたって分散することができる。例えば、インデックスジェネレータなどの構成要素は、別個の/異なるネットワークおよび/またはシステム上に存在することができるが、他の構成要素への通信可能な接続(複数可)をいまだに維持することができる。   It is contemplated that various components and / or portions of exemplary system 300 may be implemented as hardware, software, or a combination of both. For example, various portions of system 300 may be implemented via circuits, processors, applications, portions of programming code, algorithms, or any combination thereof. Also, FIG. 3 is an example and is intended to be used merely for illustrative purposes. For example, the various components need not be configured according to FIG. In some embodiments, the various components need not be tightly coupled to each other, but instead can be distributed across additional distributed systems. For example, a component such as an index generator can exist on a separate / different network and / or system, but can still maintain communicable connection (s) to other components.

図4は、本開示の種々の実施形態に従って生成することができる、例示的な検索インデックス400を示す。図4を参照して、検索インデックスにおいて、ルートノード402が存在することができる。図4の例では、Tシャツの小売業者などのエンティティによってデータをアップロードすることができる。データは、エンティティが販売で購入可能としたTシャツ(ルートノード402)に関する情報に対応することができる。Tシャツに関連するデータに対するデータフィールドを表す親ノード(例えば、404、406、408)が存在することができる。例えば、Tシャツは、色データフィールド404、サイズデータフィールド406、および価格データフィールド408を有することができる。   FIG. 4 illustrates an exemplary search index 400 that can be generated in accordance with various embodiments of the present disclosure. Referring to FIG. 4, a root node 402 can exist in the search index. In the example of FIG. 4, data may be uploaded by an entity such as a T-shirt retailer. The data may correspond to information about a T-shirt (root node 402) that the entity has made available for sale. There may be a parent node (eg, 404, 406, 408) that represents a data field for data related to the T-shirt. For example, a T-shirt can have a color data field 404, a size data field 406, and a price data field 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)が存在することができる。   Continuing with the example of FIG. 4, a data field may have child nodes (eg, 410, 412, 414, 416, 418) that represent the values in each respective data field. For example, there can be at least two colors (red 410 and blue 412), one size (medium 414), and two price ranges (less than $ 10 416 and $ 10 to $ 20 418). There may also be search result / item pairs (eg, T-shirts 420, 422, 424, 426, 428, 430) that may correspond to one or more of the data fields and values.

この例では、全ての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が、ツリー構造として示されたが、検索インデックスを多くの他の方法でおよび/または他の構造で生成することができることが企図される。   In this example, all three data fields (color 404, size 406, and price 408) will be included in the search index, may have facet numbers, and in response to the associated search query, A value can be provided / returned. For example, as shown in FIG. 4, the color: red 410 can have a facet number of 3, and the color: blue 412 can have a facet number of 2. Size: Medium 414 can have a facet number of two. Price: less than $ 10 416 can have a facet number of 1, and price: $ 10- $ 20 418 can have a facet number of 2. Further, the search query for color: red 410 returns, for example, T-shirts 422, 424, and 428, searches for red 410 and blue 412, returns, for example, T-shirt 422, and so on. Although the exemplary search index 400 is shown as a tree structure, it is contemplated that the search index can be generated in many other ways and / or in other structures.

図5は、ネットワーク化された環境における検索可能なデータに対するインデックス構成についての例示的な方法の実施形態500を示す。他に言及がない限り、種々の実施形態の範囲内で、同様のもしくは代替的な順序で、または並列して実行される、追加の、いくつかの、または代替のステップが存在することができることを、再度理解するべきである。ステップ502において、例示的な方法の実施形態500は、索引付けされるべきデータを受信することができる。例えば、方法500は、索引付けされるべき、エンティティによりアップロードされたデータを受信することができ、および、データは、複数のデータフィールド(または少なくとも1つのデータフィールド)を含むことができる。いくつかの実施形態では、例示的な方法はまた、データに関連付けられたデータフィールドに対する名前を判定することができる。ステップ504において、例示的な方法500は、データに関連付けられたデータフィールドのタイプを判定することができる。例えば、方法は、複数のデータフィールドにおける各データフィールドに関連付けられた複数のフィールドタイプのフィールドタイプを判定することができる。複数のフィールドタイプは、整数型、リテラル型、またはテキスト型の少なくとも1つを含むことができる(それらに限定されない)。データフィールドのタイプを、データフィールドの複数のタイプから判定することができる。いくつかの実施形態では、複数のデータフィールドならびにそれらのタイプおよび/または名前を、タグ、信号、または他のインジケーションに基づいて識別することができる。方法500は、ステップ506において、データに関連付けられたデータフィールドに関して有効にされるべき1または複数の検索オプションを判定することができる。例えば、1または複数の検索オプションは、生成されることになる検索インデックスにそれぞれのデータフィールドを含めるオプション、それぞれのデータフィールドに対するファセット数を算出するオプション、またはそれぞれのデータフィールドに関連付けられた1もしくは複数の値を提供するオプション、の少なくとも1つを含むことができる。ステップ508は、データフィールドのタイプおよび1または複数の検索オプションに少なくとも部分的に基づいて、データに対するインデックス構成を生成することを含むことができる。そして、ステップ510において、方法500は、データに対するインデックス構成に少なくとも部分的に基づいて、データに対する検索インデックスを生成することができる。いくつかの実施形態では、データが構造化されたデータ、フリーテキストデータ、または両方の組み合わせであるかに基づいて、検索インデックスを生成することができる。いくつかの実施形態では、例示的な方法はまた、データ、インデックス構成、または1もしくは複数の検索クエリにより検索可能となるインデックスの少なくとも1つを提供することができる。   FIG. 5 illustrates an example method embodiment 500 for indexing for searchable data in a networked environment. There may be additional, some, or alternative steps performed in a similar or alternative order or in parallel, within the scope of various embodiments, unless otherwise noted. Should be understood again. In step 502, exemplary method embodiment 500 may receive data to be indexed. For example, the method 500 can receive data uploaded by an entity to be indexed and the data can include multiple data fields (or at least one data field). In some embodiments, the example method can also determine a name for the data field associated with the data. In step 504, the example method 500 can determine the type of data field associated with the data. For example, the method can determine a field type of a plurality of field types associated with each data field in the plurality of data fields. The plurality of field types can include (but are not limited to) at least one of an integer type, a literal type, or a text type. The type of data field can be determined from multiple types of data fields. In some embodiments, multiple data fields and their types and / or names can be identified based on tags, signals, or other indications. The method 500 may determine at step 506 one or more search options to be enabled for the data field associated with the data. For example, one or more search options may include an option to include each data field in the search index to be generated, an option to calculate the number of facets for each data field, or one or more associated with each data field At least one of options providing multiple values may be included. Step 508 may include generating an index configuration for the data based at least in part on the type of data field and the one or more search options. Then, at step 510, the method 500 can generate a search index for the data based at least in part on the index configuration for the data. In some embodiments, a search index can be generated based on whether the data is structured data, free text data, or a combination of both. In some embodiments, the exemplary method may also provide at least one of data, an index configuration, or an index that is searchable by one or more search queries.

種々の他の情報がインデックス構成に含められることができる。例えば、構成は、データフィールドがファセット決定可能であるか否か(すなわち、ファセット数がデータフィールドに対して算出されるべきか否か)、データフィールドがランク付け可能であるか否か(すなわち、データフィールドを有する検索結果の値がソートされるべきであるか否か)などに関する情報を保有することができる。   Various other information can be included in the index configuration. For example, the configuration can determine whether a data field can be faceted (ie, whether the number of facets should be calculated for the data field), whether the data field can be ranked (ie, Information about whether or not search result values having data fields should be sorted.

いくつかの実施形態では、ネットワークサービスは、第1のフォーマットで受信/アップロードされたデータを、第2のフォーマットに変換することができ、第2のフォーマットは、検索インデックスに適合し、および第2のフォーマットに変換されたデータを、1または複数の記憶域割り当て上に記憶することができる。例えば、ネットワークサービスは、エンティティからデータを受信することができ、データは、.PDF、.DOC、.DOCX、.CSV、.JSON、.XMLなどのいくつかの種々のフォーマットの任意の1または複数を有することが可能である。ネットワークサービスは、検索データフォーマット(SDF)などのネットワークサービスに適合する(例えば、ネットワークサービスにより認識可能であり、ネットワークサービスで実行可能な)フォーマットにデータを自動的に変換することができる。   In some embodiments, the network service can convert data received / uploaded in a first format to a second format, the second format conforms to a search index, and the second The data converted to the format can be stored on one or more storage allocations. For example, a network service can receive data from an entity and the data can be. PDF,. DOC,. DOCX,. CSV,. JSON,. It is possible to have any one or more of several different formats, such as XML. The network service can automatically convert the data into a format compatible with the network service, such as a search data format (SDF) (eg, recognizable by the network service and executable by the network service).

いくつかの実施形態では、ネットワークサービスは、第1のフォーマットを第2のフォーマットと比較すること、および第1のフォーマットに関連付けられた少なくとも1つのデータフィールドを変更して、第2のフォーマットに関連付けられた少なくとも1つのデータフィールドに対応させること、に基づいて、データを変換することができる。例えば、ネットワークサービスは、エンティティから受信されたデータのフォーマット(複数可)を比較することができ、およびネットワークサービスに適合するようにフォーマットを変更/更新することができる。このことは、フォーマットにおける1または複数のデータフィールドが追加、除去、または変更されるべきかを識別することを含むことができる。   In some embodiments, the network service compares the first format with the second format and modifies at least one data field associated with the first format to associate with the second format. The data can be converted based on corresponding to at least one data field provided. For example, the network service can compare the format (s) of data received from the entity and can change / update the format to suit the network service. This can include identifying whether one or more data fields in the format are to be added, removed, or changed.

いくつかの実施形態では、ネットワークサービスは、データフィールドに関連付けられた値が、指定された整数量閾値を上回る量の整数文字を有しているかを判定したことに基づいて、データフィールドのタイプを整数型であると判定することができる。また、ネットワークサービスは、指定された下限リテラル量閾値を上回るが、指定されたリテラル量閾値未満である量のアルファベット文字を有するデータフィールドに関連付けられた値、指定されたリテラル相違量閾値未満であるデータフィールドに関連付けられたいくつかの相違する値、指定されたリテラル相違割合閾値未満である相違する値の割合(%)、または指定されたリテラル長閾値未満である値の長さ、の少なくとも1つを判定して、データフィールドのタイプをリテラル型であると判定することができる。さらに、ネットワークサービスは、データフィールドに関連付けられた値が、指定されたテキスト量閾値を上回る量の整数およびアルファベット文字、指定されたテキスト相違量閾値を上回るいくつかの相違する文字、指定されたテキスト相違割合閾値を上回る相違する文字の割合(%)、または指定されたテキスト長閾値を上回る文字の長さ、の少なくとも1つを有するかを判定したことに基づいて、データフィールドのタイプをテキスト型であると判定することができる。   In some embodiments, the network service determines the type of the data field based on determining whether the value associated with the data field has an amount of integer characters that exceeds a specified integer amount threshold. It can be determined that it is an integer type. Also, the network service is less than the specified literal difference threshold that is greater than the specified lower literal amount threshold but is associated with a data field having an amount of alphabetic characters that is less than the specified literal amount threshold. At least one of several different values associated with the data field, the percentage of different values that are less than a specified literal difference percentage threshold, or the length of a value that is less than a specified literal length threshold The data field type can be determined to be a literal type. In addition, the network service may provide integers and alphabetic characters whose value associated with the data field exceeds the specified text amount threshold, some different characters that exceed the specified text difference threshold, the specified text. The data field type is text based on determining whether it has at least one of the percentage of different characters above the difference percentage threshold or the length of the characters above the specified text length threshold It can be determined that

いくつかの実施形態では、ネットワークサービスは、生成されることになる検索インデックスにデータフィールドを含めるオプションを有効にすると決定することができ、決定は、データフィールドが検索インデックスに含まれることになることを示す、データフィールドに含まれる信号を受信したことに少なくとも部分的に基づいている。ネットワークサービスはまた、データフィールドに対するファセット数を算出するオプションを有効にすると決定することができ、決定は、データフィールドに関連付けられた少なくとも1つの値に対する量が、指定されたファセット数下限閾値を上回り、および指定されたファセット数上限閾値未満であることを判定することに少なくとも部分的に基づいている。ネットワークサービスはさらに、関連する検索クエリに応答して、データフィールドに関連付けられた値を提供するオプションを有効にすると決定することができ、決定は、データフィールドに関連付けられた値が提供されることになることを示す、データフィールドに含まれる信号を受信したことに少なくとも部分的に基づいている。   In some embodiments, the network service can determine to enable the option to include a data field in the search index that will be generated, and the determination will result in the data field being included in the search index. Is based at least in part on receiving a signal included in the data field. The network service can also determine to enable the option to calculate the number of facets for the data field, and the determination is that the amount for at least one value associated with the data field exceeds the specified facet number lower threshold. , And determining that the facet number is less than a specified upper limit threshold value. The network service may further determine to enable an option to provide a value associated with the data field in response to an associated search query, the determination being provided with a value associated with the data field. Is based at least in part on receiving a signal included in the data field, indicating that

いくつかの実施形態では、1または複数の検索クエリ(例えば、検索クエリにおける語)を、ネットワークサービスによって利用することができる。例えば、ネットワークサービスは、検索者が特定のデータフィールドに対してファセット決定していることを検索クエリから推論することができる。結果として、ネットワークサービスは、例えば、データフィールドがリテラル型のフィールドであるべきであることを判定することができる。   In some embodiments, one or more search queries (eg, words in a search query) can be utilized by a network service. For example, the network service can infer from the search query that the searcher is faceting a particular data field. As a result, the network service can determine, for example, that the data field should be a literal field.

いくつかの実施形態では、検索者がクエリ語を入力し、および検索を要求するとき、1または複数の検索結果を、関連度によってなど、特定のランク表現(例えば、結果の順序)で提示することができる。本開示は、クエリに依存しない因子など(例えば、データ内に人気データフィールドを含めることができるなど)の他の因子を考慮したより複雑なランク表現の作成を可能にする。本開示はまた、データを参照し、およびデータフィールドが人気の観点から重要であると判定することによって、使用することができるランク表現を提案する分析を可能にすることができる。例えば、テキスト本体のデータフィールドタイプが存在することができ、その長さ(例えば、またはその長さの逆数(inverse)が考慮されてもよく、およびその長さは、ランク表現に対する有用な情報を提供することができる。   In some embodiments, when a searcher enters a query term and requests a search, one or more search results are presented in a particular rank expression (eg, order of results), such as by relevance. be able to. The present disclosure allows for the creation of more complex rank expressions that take into account other factors such as factors that do not depend on the query (eg, popular data fields can be included in the data). The present disclosure may also allow analysis to suggest rank expressions that can be used by referring to the data and determining that the data field is important in terms of popularity. For example, a text field data field type may exist, its length (eg, or the inverse of its length may be considered), and its length provides useful information for rank expressions. Can be provided.

いくつかの実施形態では、データフィールドタイプはまた、地理的位置型、時間型、日付型、または浮動小数点数型を含むことができる。   In some embodiments, the data field type can also include a geographic location type, a time type, a date type, or a floating point number type.

本開示と一致した種々の実施形態はまた、サンプルデータを利用することができる。例えば、ユーザ/エンティティは最初に、サンプルデータをネットワークサービスに提供することができる。ネットワークサービスは、サンプルデータを分析して、データフィールドのタイプおよび検索オプションを判定することができる。サンプルデータに対するデータフィールドタイプおよび検索オプションに基づいて、ネットワークサービスは、インデックス構成を生成することができ、続いて、生成されたインデックス構成に基づいて、検索インデックスを生成することができる。   Various embodiments consistent with this disclosure may also utilize sample data. For example, a user / entity can initially provide sample data to a network service. The network service can analyze the sample data to determine the data field type and search options. Based on the data field type and search options for the sample data, the network service can generate an index configuration, and subsequently generate a search index based on the generated index configuration.

図6は、種々の実施形態に従って使用することができる例示的な電子ユーザデバイス600を示す。ポータブルコンピューティングデバイス(例えば、電子ブックリーダ、またはタブレットコンピュータ)が示されているが、本明細書で論じられた種々の実施形態に従って、入力を受信、判定、および/または処理することが可能な任意の電子デバイスを使用することができ、デバイスは、例えば、デスクトップコンピュータ、ノートブックコンピュータ、携帯情報端末、スマートフォン、ビデオゲームコンソール、テレビジョンセットトップボックス、およびポータブルメディアプレイヤを含むことができることを理解するべきである。いくつかの実施形態では、コンピューティングデバイス600は、オペアンプを使用して信号処理を実行することができるデバイスなどの、アナログデバイスとすることができる。この例では、コンピューティングデバイス600は、前面にディスプレイスクリーン602を有し、通常の動作では、ディスプレイスクリーンに面している(例えば、コンピューティングデバイスのディスプレイスクリーンと同一の側面上の)ユーザに情報を表示する。この例におけるコンピューティングデバイスは、少なくとも1つのカメラ604、または少なくとも1つのカメラの少なくとも視野上で静止またはビデオ画像情報を取り込む他の撮像要素を含む。いくつかの実施形態では、コンピューティングデバイスは単に、1つのみの撮像要素を含んでもよく、および他の実施形態では、コンピューティングデバイスは、いくつかの撮像要素を含んでもよい。各画像取込要素は、例えば、多くの他の可能性の中で、電荷結合素子(CCD)、動き検出センサ、または赤外線センサであってもよい。コンピューティングデバイス上に複数の画像取込要素が存在する場合、画像取込要素は、異なるタイプのものであってもよい。いくつかの実施形態では、少なくとも1つの撮像要素は、魚眼レンズなどの、カメラが180度以上などの広範囲の角度で画像を取り込むことを可能にする、少なくとも1つの広角光学要素を含むことができる。さらに、各画像取込要素は、高速に連続で後続のフレームを取り込むように構成されたデジタル静止カメラ、またはストリーミングビデオを取り込むことが可能なビデオカメラを含むことができる。   FIG. 6 illustrates an exemplary electronic user device 600 that can be used in accordance with various embodiments. Although a portable computing device (eg, an electronic book reader or tablet computer) is shown, input can be received, determined, and / or processed according to various embodiments discussed herein. Any electronic device can be used and it is understood that the device can include, for example, a desktop computer, notebook computer, personal digital assistant, smartphone, video game console, television set top box, and portable media player Should do. In some embodiments, computing device 600 may be an analog device, such as a device that can perform signal processing using an operational amplifier. In this example, the computing device 600 has a display screen 602 on the front surface and, in normal operation, provides information to a user facing the display screen (eg, on the same side as the display screen of the computing device). Is displayed. The computing device in this example includes at least one camera 604 or other imaging element that captures still or video image information on at least the field of view of at least one camera. In some embodiments, the computing device may simply include only one imaging element, and in other embodiments, the computing device may include several imaging elements. Each image capture element may be, for example, a charge coupled device (CCD), a motion detection sensor, or an infrared sensor, among many other possibilities. Where there are multiple image capture elements on a computing device, the image capture elements may be of different types. In some embodiments, the at least one imaging element can include at least one wide-angle optical element that allows the camera to capture images over a wide range of angles, such as 180 degrees or more, such as a fisheye lens. Further, each image capture element can include a digital still camera configured to capture subsequent frames in rapid succession, or a video camera capable of capturing streaming video.

例示的なコンピューティングデバイス600はまた、少なくとも1つのマイクロフォン606、またはデバイスのユーザによって発される語またはコマンドなどの、音声データを取り込むことが可能な他の音声取込デバイスを含む。この例では、マイクロフォン606は、デバイスのディスプレイスクリーン602と同一の側面に配置され、それによって、マイクロフォンは通常、デバイスのユーザにより発される語をよりよく取り込むことが可能になる。少なくともいくつかの実施形態では、マイクロフォンは、マイクロフォンの前方から実質的に直近の音声情報を取り込み、および他の方向から限定した音声の量のみを拾う、指向型マイクロフォンとすることができる。マイクロフォンは、異なる実施形態では、デバイスの任意の領域、面、または境界の任意の適切な表面上に位置してもよいこと、ならびに、複数のマイクロフォンを、音声の記録およびフィルタリングなどの目的で使用することができること、を理解するべきである。   The exemplary computing device 600 also includes at least one microphone 606 or other audio capture device that can capture audio data, such as words or commands issued by a user of the device. In this example, the microphone 606 is placed on the same side as the display screen 602 of the device, which allows the microphone to better capture words that are typically emitted by the user of the device. In at least some embodiments, the microphone may be a directional microphone that captures audio information substantially immediately from the front of the microphone and picks up only a limited amount of audio from other directions. The microphones may be located on any suitable surface of the device, in any region, face, or boundary in different embodiments, and multiple microphones are used for purposes such as audio recording and filtering You should understand what you can do.

例示的なコンピューティングデバイス600はまた、位置および/または動き判定要素などの、少なくとも1つの方位センサ608を含む。そのようなセンサは、例えば、デバイスの方位および/または方位の変化、ならびにコンピューティングデバイスの小さな動きを検出するように動作可能な加速度計またはジャイロスコープを含むことができる。方位センサはまた、(例えば、主軸または他のそのような面に関して)デバイスが向いていると判定される方向(例えば、北または南)を示すことができる、電子またはデジタルコンパスを含むことができる。方位センサはまた、グローバルポジショニングシステム(GPS)、またはデバイスの位置に対する相対的座標、ならびにコンピューティングデバイスの比較的大きな動きに関する情報を判定するように動作可能な、類似のポジショニング要素を含み、または備えることができる。種々の実施形態は、任意の適切な組み合わせで、1または複数のそのような要素を含むことができる。理解されるべきであるように、相対位置、方位、および/または動きを判定するのに使用されるアルゴリズムまたは機構は、デバイスに利用可能な要素の選択に少なくとも部分的に依存することができる。   The exemplary computing device 600 also includes at least one orientation sensor 608, such as a position and / or motion determination element. Such sensors can include, for example, accelerometers or gyroscopes operable to detect device orientation and / or orientation changes, as well as small movements of the computing device. The orientation sensor can also include an electronic or digital compass that can indicate the direction (eg, north or south) that the device is determined to be facing (eg, with respect to the major axis or other such surface). . The orientation sensor also includes or comprises a global positioning system (GPS) or similar positioning element operable to determine relative coordinates relative to the position of the device, as well as relatively large movements of the computing device. be able to. Various embodiments can include one or more such elements in any suitable combination. As should be appreciated, the algorithm or mechanism used to determine relative position, orientation, and / or movement can depend at least in part on the selection of elements available to the device.

図7は、図6に関して説明されたデバイス600などの、例示的なコンピューティングデバイス700の一般的な構成要素の組の論理配置を示す。この例では、デバイスは、メモリデバイスもしくは要素704に記憶することができる命令を実行するプロセッサ702を含む。当業者にとって明らかなように、デバイスは、プロセッサ702により実行するためのプログラム命令に対する第1の記憶装置、画像もしくはデータに対する別個の記憶装置、または他のデバイスと情報を共有するための着脱可能メモリなどの、多くのタイプのメモリ、データ記憶装置、または非一時的コンピュータ可読記憶媒体を含むことができる。デバイスは通常、タッチスクリーンまたは液晶ディスプレイ(LCD)などのいくつかのタイプのディスプレイ要素706を含むが、ポータブルメディアプレイヤなどのデバイスは、音声スピーカを通じてなど、他の手段を介して情報を搬送してもよい。論じられたように、多くの実施形態におけるデバイスは、投影された画像またはデバイスの近隣にある他の対象物を撮像することが可能な、カメラまたは赤外線センサなどの少なくとも1つの画像取込要素708を含む。コンピューティングデバイスでのカメラ要素を使用した画像またはビデオを取り込む方法は、本分野では公知であり、本明細書では詳細に論じない。画像の取り込みを、単一の画像、複数の画像、周期的な撮像、連続した画像取り込み、画像ストリーミングなどを使用して実行することができることを理解するべきである。さらに、デバイスは、ユーザ、アプリケーション、または他のデバイスからコマンドを受信したときなど、画像の取り込みを開始および/または停止する能力を含むことができる。例示的なデバイスは同様に、モノラルもしくはステレオマイクロフォンまたはマイクロフォンアレイなどの、少なくとも1つの主要な方向から音声情報を取り込むように動作可能な、少なくとも1つの音声取込構成要素712を含む。マクロフォンは、そのようなデバイスに対して既知である単方向または無指向性マクロフォンをすることができる。   FIG. 7 illustrates a logical arrangement of a general set of components of an exemplary computing device 700, such as the device 600 described with respect to FIG. In this example, the device includes a processor 702 that executes instructions that can be stored in a memory device or element 704. As will be apparent to those skilled in the art, the device may be a first storage for program instructions for execution by processor 702, a separate storage for images or data, or a removable memory for sharing information with other devices. Many types of memory, data storage devices, or non-transitory computer readable storage media can be included. Devices typically include some type of display element 706, such as a touch screen or a liquid crystal display (LCD), but devices such as portable media players carry information via other means, such as through an audio speaker. Also good. As discussed, the device in many embodiments is at least one image capture element 708, such as a camera or an infrared sensor, that can image a projected image or other object in the vicinity of the device. including. Methods for capturing images or videos using camera elements at a computing device are known in the art and will not be discussed in detail herein. It should be understood that image capture can be performed using a single image, multiple images, periodic imaging, sequential image capture, image streaming, and the like. Further, the device can include the ability to start and / or stop capturing images, such as when a command is received from a user, application, or other device. Exemplary devices also include at least one audio capture component 712 that is operable to capture audio information from at least one primary direction, such as a mono or stereo microphone or a microphone array. The macrophone can be a unidirectional or omnidirectional microphone that is known for such devices.

いくつかの実施形態では、図7のコンピューティングデバイス700は、Wi−Fi(登録商標)、Bluetooth(登録商標)、RF、有線もしくは無線通信システムなどの、1または複数の通信要素(図示しない)を含むことができる。多くの実施形態におけるデバイスは、インターネットなどのネットワークと通信することができ、および、他のそのようなデバイスと通信することが可能であってもよい。いくつかの実施形態では、デバイスは、ユーザから従来型の入力を受信することが可能な、少なくとも1つの追加的な入力デバイスを含むことができる。この従来型の入力は、例えば、プッシュボタン、タッチパッド、タッチスクリーン、ホイール、ジョイスティック、キーボード、マウス、キーパッド、または、ユーザがデバイスへのコマンドを入力することができる、任意の他のそのようなデバイスもしくは要素を含むことができる。しかしながら、いくつかの実施形態では、そのようなデバイスは、いかなるボタンも含まなくてもよく、ならびに、視覚および音声コマンドの組み合わせを通じてのみ制御されてもよく、それによって、ユーザは、デバイスと連絡する必要なしにデバイスを制御することができる。   In some embodiments, the computing device 700 of FIG. 7 includes one or more communication elements (not shown), such as Wi-Fi®, Bluetooth®, RF, wired or wireless communication systems. Can be included. Devices in many embodiments can communicate with a network, such as the Internet, and may be able to communicate with other such devices. In some embodiments, the device can include at least one additional input device capable of receiving conventional input from a user. This conventional input can be, for example, a push button, touchpad, touch screen, wheel, joystick, keyboard, mouse, keypad, or any other such that allows the user to enter commands to the device Various devices or elements. However, in some embodiments, such a device may not include any buttons and may only be controlled through a combination of visual and voice commands so that the user contacts the device. The device can be controlled without need.

デバイス700はまた、少なくとも1つの方位または動きセンサ710を含むことができる。論じられたように、そのようなセンサは、方位および/もしくは方位の変化を検出するように動作可能な加速度計もしくはジャイロセンサ、または、デバイスが向いていると判定される方向を示すことができる電子もしくはデジタルコンパスを含むことができる。機構(複数可)はまた(または代替的に)、グローバルポジショニングシステム(GPS)、またはデバイスの位置に対する相対的座標、ならびにコンピューティングデバイスの比較的大きな動きに関する情報を判定するように動作可能な類似のポジショニング要素を含み、または備えることができる。デバイスは、三角法または別のそのようなアプローチを通じて位置判定を有効にすることができるなどの、他の要素も含むことができる。これらの機構は、プロセッサ702と通信することができ、それによって、デバイスは、本明細書で説明または提案される任意の数の動作を実行することができる。   The device 700 can also include at least one orientation or motion sensor 710. As discussed, such a sensor can indicate an orientation and / or an accelerometer or gyro sensor operable to detect orientation changes, or a direction in which the device is determined to be oriented. An electronic or digital compass can be included. The mechanism (s) is also (or alternatively) a global positioning system (GPS) or similar that is operable to determine relative coordinates relative to the position of the device, as well as relatively large movements of the computing device. Positioning elements may be included or provided. The device can also include other elements such as position determination can be enabled through trigonometry or another such approach. These mechanisms can communicate with the processor 702 so that the device can perform any number of operations described or suggested herein.

例として、図6に関して説明されたようなコンピューティングデバイスは、時間とともにユーザに対する種々の情報を取り込みおよび/または追跡することができる。この情報は、位置、動作(例えば、メッセージを送信すること、または文書を作成すること)、ユーザの振る舞い(例えば、ユーザがどれほど頻繁にタスクを実行するか、ユーザがタスクに要する時間の量、ユーザがインタフェースを通じてナビゲートする方法など)、ユーザ嗜好(例えば、どのようにユーザが情報を受信することを望むか)、オープンアプリケーション、投入された要求、および受信した呼などの、任意の適切な情報を含むことができる。上述のように、情報がリンクまたは関連付けられたそのような方法で、情報を記憶することができ、それによって、ユーザは、任意の適切な様態、または様態の集まりを使用して、情報にアクセスすることができる。   By way of example, a computing device as described with respect to FIG. 6 can capture and / or track various information for a user over time. This information can include location, action (eg, sending a message or creating a document), user behavior (eg, how often the user performs the task, how much time the user takes for the task, Any appropriate, such as how the user navigates through the interface), user preferences (eg, how the user wants to receive information), open applications, placed requests, and received calls Information can be included. As described above, information can be stored in such a way that the information is linked or associated so that the user can access the information using any suitable manner or collection of manners. can do.

論じられたように、説明された実施形態に従って、種々の環境で異なるアプローチを実装することができる。例えば、図8は、種々の実施形態に従って態様を実現するための環境800の例を示す。理解されるように、ウェブベースの環境が例示の目的で使用されるが、必要に応じて、種々の実施形態を実現するために異なる環境が使用されてもよい。システムは、要求、メッセージ、もしくは情報を適切なネットワーク804上で送信および受信し、ならびに情報をデバイスのユーザに搬送し返すように動作可能な任意の適切なデバイスを含むことができる、電子クライアントデバイス802を含む。そのようなクライアントデバイスの例は、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージングデバイス、ラップトップコンピュータ、セットトップボックス、携帯情報端末、および電子ブックリーダなどを含む。ネットワークは、イントラネット、インターネット、セルラネットワーク、ローカルエリアネットワーク、もしくは任意の他のそのようなネットワーク、またはそれらの組み合わせ、などを含む任意の適切なネットワークを含むことができる。そのようなシステムに使用される構成要素は、ネットワークのタイプおよび/または選択される環境に少なくとも部分的に依存することができる。そのようなネットワークを介して通信するためのプロトコルおよび構成要素は公知であり、本明細書では詳細に論じない。ネットワーク上の通信を、有線または無線接続、およびそれらの組み合わせを介して有効にすることができる。この例では、要求を受信し、およびそれに応答してコンテンツを供給するウェブサーバ806を環境が含むので、ネットワークはインターネットを含むが、当業者にとって明らかなように、他のネットワークの場合、同一の目的を果たす代替的なデバイスが使用されるであろう。   As discussed, different approaches can be implemented in various environments in accordance with the described embodiments. For example, FIG. 8 illustrates an example environment 800 for implementing aspects in accordance with various embodiments. As will be appreciated, a web-based environment is used for illustrative purposes, but different environments may be used to implement various embodiments, if desired. The system may include any suitable device operable to send and receive requests, messages, or information over the appropriate network 804 and to carry the information back to the user of the device. 802. Examples of such client devices include personal computers, mobile phones, handheld messaging devices, laptop computers, set top boxes, personal digital assistants, electronic book readers, and the like. The network can include any suitable network including an intranet, the Internet, a cellular network, a local area network, or any other such network, or combinations thereof. The components used in such a system may depend at least in part on the type of network and / or the environment selected. Protocols and components for communicating over such networks are known and will not be discussed in detail herein. Communication over the network can be enabled via a wired or wireless connection, and combinations thereof. In this example, the network includes the Internet because the environment includes a web server 806 that receives the request and supplies content in response thereto, but, as will be apparent to those skilled in the art, for other networks, the same Alternative devices that serve the purpose will be used.

例示的な環境は、少なくとも1つのアプリケーションサーバ808およびデータストア810を含む。いくつかのアプリケーションサーバ、階層もしくは他の要素、処理、または構成要素が存在することができ、それらは、適切なデータストアからデータを取得するなどのタスクを実行するように対話することができ、連鎖または構成されてもよい。本明細書で使用されるように、「データストア」という用語は、データを記憶、アクセス、および読み出すことが可能な任意のデバイスまたはデバイスの組み合わせを指し、任意の標準、分散型、またはクラスタ化された環境における、任意の組み合わせおよび数のデータサーバ、データベース、データ記憶装置、およびデータ記憶媒体を含んでもよい。アプリケーションサーバは、クライアントデバイスに対する1もしくは複数のアプリケーションの態様を実行する必要に応じて、データストアと対話し、ならびにアプリケーションに対するデータアクセスおよびビジネスロジックの大部分を処理する、任意の適切なハードウェアおよびソフトウェアを含むことができる。アプリケーションサーバは、データストアと協働してアクセス制御サービスを提供し、ならびに、この例で、HTML、XMLまたは別の適切な構造化言語の形式でウェブサーバによってユーザに供給することができる、ユーザに転送されることになるテキスト、グラフィック、音声、および/またはビデオなどのコンテンツを生成することが可能である。全ての要求および応答の処理、ならびにクライアントデバイス802とアプリケーションサーバ808との間のコンテンツの配信を、ウェブサーバ806によって扱うことができる。本明細書で論じられた構造化コードを、本明細書で他に論じられた任意の適切なデバイスまたはホストマシンで実行することができるので、ウェブおよびアプリケーションサーバが必要とされず、およびそれらは例示的な構成要素にすぎないことを理解するべきである。   An exemplary environment includes at least one application server 808 and data store 810. There can be several application servers, hierarchies or other elements, processes, or components that can interact to perform tasks such as retrieving data from the appropriate data store, It may be chained or composed. As used herein, the term “data store” refers to any device or combination of devices capable of storing, accessing, and retrieving data, and any standard, distributed, or clustered Any combination and number of data servers, databases, data storage devices, and data storage media in a given environment may be included. The application server interacts with the data store as needed to perform one or more aspects of the application to the client device and any suitable hardware and data processing and most of the business logic for the application. Software can be included. The application server cooperates with the data store to provide access control services and in this example can be provided to the user by the web server in the form of HTML, XML or another suitable structured language. It is possible to generate content such as text, graphics, audio, and / or video that will be transferred to. The processing of all requests and responses and the distribution of content between client device 802 and application server 808 can be handled by web server 806. Since the structured code discussed herein can be executed on any suitable device or host machine discussed elsewhere herein, web and application servers are not required, and they It should be understood that these are merely exemplary components.

データストア810は、いくつかの別個のデータテーブル、データベース、または特定の態様に関連するデータを記憶するための他のデータ記憶機構および媒体を含むことができる。例えば、例示されるデータストアは、製造側にコンテンツを供給するのに使用することができる、製造データ812およびユーザ情報816を記憶するための機構を含む。データストアはまた、ログまたはセッションデータ814を記憶するための機構を含むように示される。ページ画像情報およびアクセス権情報など、データストアに記憶するのに必要となる多くの他の側面が存在することができることを理解するべきであり、それらは、必要に応じて、上記列挙された機構、またはデータストア810における追加的な機構のいずれかに記憶することができる。データストア810は、それらに関連づけられたロジックを通じて、アプリケーションサーバ808から命令を受信し、およびそれに応答して、データを取得、更新、または処理するように動作可能である。一例では、ユーザは、ある特定のタイプの要素に対する検索要求を投入してもよい。この例では、データストアは、ユーザ情報にアクセスして、ユーザの識別を確認してもよく、およびカタログ詳細情報にアクセスして、そのタイプの要素に関する情報を取得することができる。そして、ユーザが、ユーザデバイス802上のブラウザを介して参照することが可能なウェブページ上で結果を一覧化するなど、情報をユーザに返すことができる。対象の特定の要素に対する情報を、専用ページまたはブラウザのウインドウで参照することができる。   Data store 810 may include a number of separate data tables, databases, or other data storage mechanisms and media for storing data associated with a particular aspect. For example, the illustrated data store includes a mechanism for storing manufacturing data 812 and user information 816 that can be used to supply content to the manufacturing side. The data store is also shown to include a mechanism for storing log or session data 814. It should be understood that there can be many other aspects needed to be stored in the data store, such as page image information and access rights information, which can be , Or any of the additional mechanisms in the data store 810. Data store 810 is operable to receive instructions from application server 808 through logic associated therewith and to obtain, update, or process data in response thereto. In one example, a user may submit a search request for a particular type of element. In this example, the data store may access user information to confirm the identity of the user, and access catalog detail information to obtain information about that type of element. The user can then return information to the user, such as listing the results on a web page that can be referenced via a browser on the user device 802. Information for a particular element of interest can be referenced in a dedicated page or browser window.

各サーバは通常、そのサーバの全体的な管理および操作に対する実行可能なプログラム命令を提供するオペレーティングシステムを含み、ならびに、各サーバは通常、サーバのプロセッサにより実行されると、サーバがその意図された機能を実行することを可能にする命令を記憶したコンピュータ可読媒体を含む。オペレーティングシステムおよびサーバの全体的な機能性に適した実装は既知であり、もしくは商業的に利用可能であり、および、特に本開示を考慮して、当業者によって容易に実装される。   Each server typically includes an operating system that provides executable program instructions for the overall management and operation of that server, and when each server is typically executed by the server's processor, the server is intended for it. Including a computer readable medium having instructions stored thereon for performing functions. Suitable implementations for the overall functionality of the operating system and server are known or commercially available, and are readily implemented by those skilled in the art, especially in light of the present disclosure.

一実施形態での環境は、1もしくは複数のコンピュータネットワークまたは直接接続を使用して、通信リンクを介して相互接続されるいくつかのコンピュータシステムおよび構成要素を利用した、分散型コンピューティング環境である。しかしながら、そのようなシステムは、図8で示したよりも多くのもしくは少ない数の構成要素を有するシステムにおいても同様に動作することが、当業者によって理解されるであろう。したがって、図8におけるシステム800の記載は、本質的に例示的なものとしてみなされるべきであり、本開示の範囲を限定するものではない。   The environment in one embodiment is a distributed computing environment that utilizes several computer systems and components that are interconnected via communication links using one or more computer networks or direct connections. . However, it will be appreciated by those skilled in the art that such a system will operate similarly in a system having a greater or lesser number of components than shown in FIG. Accordingly, the description of the system 800 in FIG. 8 should be regarded as exemplary in nature and is not intended to limit the scope of the present disclosure.

上述のように、多種多様の動作環境で、種々の実施形態を実装することができ、それらの環境は、いくつかの例において、いくつかのアプリケーションのいずれかを動作させるように使用することができる、1または複数のユーザコンピュータ、コンピューティングデバイス、または処理デバイスを含むことができる。ユーザまたはクライアントデバイスは、標準のオペレーティングシステムを実行するデスクトップまたはラップトップコンピュータなどのいくつかの汎用パーソナルコンピュータのいずれかと、ならびにモバイルソフトウェアを実行し、ならびにいくつかのネットワーキングおよびメッセージングプロトコルをサポートすることが可能なセルラ、無線、およびハンドヘルドデバイスを含むことができる。そのようなシステムはまた、種々の商業的利用可能なオペレーティングシステム、および開発およびデータベース管理などの目的のための他の既知のアプリケーションのいずれかを実行する、いくつかのワークステーションを含むことができる。これらのデバイスはまた、ダミー端末、シンクライアント、ゲーミングシステム、およびネットワークを介して通信することが可能な他のデバイスを含むことができる。   As described above, various embodiments can be implemented in a wide variety of operating environments, which in some instances can be used to run any of a number of applications. One or more user computers, computing devices, or processing devices that can be included. A user or client device can run any of a number of general purpose personal computers such as desktop or laptop computers running standard operating systems, as well as mobile software, and support several networking and messaging protocols. Possible cellular, wireless, and handheld devices can be included. Such a system can also include a number of workstations running any of a variety of commercially available operating systems and other known applications for purposes such as development and database management. . These devices can also include dummy terminals, thin clients, gaming systems, and other devices that can communicate over a network.

サービス指向アーキテクチャの一部とすることができるなど、少なくとも1つのサービスまたはウェブサービスの一部として、種々の態様を実現することもできる。ウェブサービスなどのサービスは、拡張可能マークアップ言語(XML)フォーマットにおけるメッセージを使用することによって、およびSOAP(「シンプルオブジェクトアクセスプロトコル(Simple Object Access Protocol)」から由来する)などの適切なプロトコルを使用して交換されるなどの、任意の適切なタイプのメッセージングを使用して通信することができる。そのようなサービスにより提供または実行される処理を、ウェブサービス記述言語(WSDL)などの任意の適切な言語で記述することができる。WSDLなどの言語を使用することは、種々のSOAPフレームワークにおいて、クライアント側でのコードの自動生成などの機能性を可能にする。   Various aspects may also be implemented as part of at least one service or web service, such as may be part of a service-oriented architecture. Services such as web services use messages in Extensible Markup Language (XML) format and use appropriate protocols such as SOAP (derived from "Simple Object Access Protocol") Can be communicated using any suitable type of messaging, such as The processing provided or performed by such services can be described in any suitable language, such as a web service description language (WSDL). Using a language such as WSDL allows functionality such as automatic code generation on the client side in various SOAP frameworks.

ほとんどの実施形態は、TCP/IP、OSI、FTP、UPnP、NFS、CIFS、およびAppleTalkなどの、種々の商業的に利用可能なプロトコルのいずれかを使用して通信をサポートする、当業者にとって公知な少なくとも1つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、およびそれらの任意の組み合わせとすることができる。   Most embodiments are known to those skilled in the art that support communication using any of a variety of commercially available protocols such as TCP / IP, OSI, FTP, UPnP, NFS, CIFS, and AppleTalk. Use at least one network. The network can be, for example, a local area network, a wide area network, a virtual private network, the Internet, an intranet, an extranet, a public switched telephone network, an infrared network, a wireless network, and any combination thereof.

ウェブサーバを使用する実施形態では、ウェブサーバは、HTTPサーバ、FTPサーバ、CGIサーバ、データサーバ、Java(登録商標)サーバ、およびビジネスアプリケーションサーバを含む、種々のサーバまたはミドル層アプリケーションのいずれかを実行することができる。サーバ(複数可)はまた、Java(登録商標)、C、C#、もしくはC++などの任意のプログラミング言語、または、Perl、Python、もしくはTCL、およびそれらの組み合わせなどの、任意のスクリプト言語で記述された1もしくは複数のスクリプトまたはプログラムとして実装することができる、1もしくは複数のウェブアプリケーションを実行することによってなど、ユーザデバイスからの要求に応答して、プログラムまたはスクリプトを実行することが可能であってもよい。サーバ(複数可)はまた、それらに限定されないが、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、およびIBM(登録商標)からの商業的に利用可能なものを含むデータベースサーバを含んでもよい。   In embodiments using a web server, the web server can be any of a variety of server or middle tier applications, including HTTP servers, FTP servers, CGI servers, data servers, Java servers, and business application servers. Can be executed. The server (s) can also be written in any programming language such as Java, C, C #, or C ++, or any scripting language such as Perl, Python, or TCL, and combinations thereof. It is possible to execute a program or script in response to a request from a user device, such as by executing one or more web applications that can be implemented as one or more scripts or programs May be. The server (s) are also databases including but not limited to those commercially available from Oracle (R), Microsoft (R), Sybase (R), and IBM (R). A server may be included.

環境は、上述の種々のデータストアおよび他のメモリもしくは記憶媒体を含むことができる。これらは、1もしくは複数のコンピュータに対してローカルな(および/またはそれに存在する)、またはネットワークにわたるコンピュータのいずれかもしくは全てからリモートな記憶媒体上など、種々の位置に存在することができる。実施形態の特定の組では、情報は、当業者にとって公知なストレージエリアネットワーク(「SAN」)に存在してもよい。同様に、コンピュータ、サーバ、または他のネットワークデバイスに起因する機能を実行するための任意の必要なファイルは、必要に応じてローカルまたはリモートに記憶されてもよい。システムがコンピュータ化されたデバイスを含む場合、各々のそのようなデバイスは、バスを介して電子的に結合することができるハードウェア要素を含むことができ、要素は、例えば、少なくとも1つの中央処理装置(CPU)、少なくとも1つの入力デバイス(例えば、マウス、キーボード、コントローラ、タッチスクリーン、またはキーパッド)、および少なくとも1つの出力デバイス(例えば、ディスプレイデバイス、プリンタ、またはスピーカ)を含む。そのようなシステムはまた、ディスクドライブ、光学式記憶装置、および着脱可能メディアデバイス、メモリカード、フラッシュメモリとともに、ランダムアクセスメモリ(「RAM」)またはリードオンリメモリ(「ROM」)などの、ソリッドストレージデバイス、などの1または複数の記憶装置を含んでもよい。   The environment can include the various data stores and other memories or storage media described above. These can be at various locations, such as on a storage medium that is local to (and / or resides in) one or more computers, or remote from any or all of the computers across the network. In a particular set of embodiments, the information may reside in a storage area network (“SAN”) known to those skilled in the art. Similarly, any necessary files for performing functions attributable to a computer, server, or other network device may be stored locally or remotely as required. Where the system includes computerized devices, each such device can include hardware elements that can be electronically coupled via a bus, for example, at least one central processing unit. A device (CPU), at least one input device (eg, mouse, keyboard, controller, touch screen, or keypad) and at least one output device (eg, display device, printer, or speaker). Such systems also include solid-state storage, such as random access memory (“RAM”) or read-only memory (“ROM”), along with disk drives, optical storage devices, and removable media devices, memory cards, flash memory. One or more storage devices, such as devices, may be included.

そのようなデバイスはまた、上述のような、コンピュータ可読記憶媒体リーダ、通信デバイス(例えば、モデム、ネットワークカード(無線または有線)、赤外線通信デバイスなど)、および作業メモリを含むことができる。コンピュータ可読記憶媒体リーダを、一時的および/もしくはより永続的にコンピュータ可読情報を収容、記憶、送信および読み出すために、リモート、ローカル、固定および/もしくは着脱可能記憶装置、ならびに記憶媒体を表すコンピュータ可読記憶媒体と接続することができ、またはそれを受け取るように構成することができる。システムおよび種々のデバイスはまた通常、オペレーティングシステム、およびクライアントアプリケーションもしくはウェブブラウザなどのアプリケーションプログラムを含む、少なくとも1つの作業メモリデバイス内に位置するいくつかのソフトウェアアプリケーション、モジュール、サービス、または他の要素を含む。代替的な実施形態が、上述したものからの多数の変形例を有してもよいことを理解するべきである。例えば、カスタマイズされたハードウェアがまた使用されてもよく、および/または、特定の要素が、ハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、もしくは両方で実現されてもよい。さらに、ネットワーク入力/出力デバイスなどの、他のコンピューティングデバイスへの接続が採用されてもよい。   Such devices can also include a computer readable storage media reader, a communication device (eg, a modem, a network card (wireless or wired), an infrared communication device, etc.), and a working memory, as described above. A computer-readable storage medium reader that represents a remote, local, fixed and / or removable storage device and a storage medium for storing, storing, transmitting and retrieving computer-readable information temporarily and / or more permanently It can be connected to a storage medium or configured to receive it. The system and various devices also typically include a number of software applications, modules, services, or other elements located within at least one working memory device, including an operating system and application programs such as client applications or web browsers. Including. It should be understood that alternative embodiments may have numerous variations from those described above. For example, customized hardware may also be used and / or certain elements may be implemented in hardware, software (including portable software such as applets), or both. In addition, connections to other computing devices, such as network input / output devices, may be employed.

コードまたはコードの一部を収容するための記憶媒体およびコンピュータ可読媒体は、それらに限定されないが、記憶および/またはコンピュータ可読命令、データ構造、プログラムモジュール、もしくは他のデータなどの情報の送信のための任意の方法または技術で実現された揮発性および不揮発性、着脱可能および着脱不能媒体などの、記憶媒体および通信媒体を含む、本分野において既知および使用される任意の適切な媒体を含むことができ、それらは、RAM、ROM、EEPROM(登録商標)、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を記憶するのに使用することができ、およびシステムデバイスによってアクセスすることができる任意の他の媒体を含む。本明細書で提供される開示および教示に基づいて、当業者は、種々の実施形態を実現する適切な他の方式および/または方法を理解するであろう。   Storage media and computer readable media for containing code or portions of code include, but are not limited to, storage and / or transmission of information such as computer readable instructions, data structures, program modules, or other data. Including any suitable media known and used in the art, including storage media and communication media, such as volatile and non-volatile, removable and non-removable media implemented in any method or technique of Can be RAM, ROM, EEPROM®, flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage device, magnetic cassette, magnetic tape, magnetic disc Storage device or other magnetic storage device or store desired information It can be used to, and any other media that can be accessed by the system device. Based on the disclosure and teachings provided herein, one of ordinary skill in the art will recognize other suitable schemes and / or methods for implementing various embodiments.

したがって、明細書および図面は、限定的な意味ではなく、例示的なものとみなされるものである。しかしながら、特許請求の範囲に記載された広義の精神および範囲から逸脱することなしに、種々の変形及び変更がそれらになされてもよいことが明白である。   The specification and drawings are accordingly to be regarded in an illustrative rather than a restrictive sense. However, it will be apparent that various modifications and changes may be made thereto without departing from the broader spirit and scope as set forth in the claims.

本開示の種々の実施形態を、以下の項を考慮して記載する。
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項の非一時的コンピュータ可読記憶媒体。
Various embodiments of the present disclosure are described in view of the following sections.
A1. A computer-implemented method for index construction for searchable data in a networked environment, comprising:
Receiving data to be indexed, the data comprising a plurality of data fields;
Determining a name associated with each data field in the plurality of data fields;
Determining a field type of a plurality of field types associated with each data field in the plurality of data fields, wherein the plurality of field types include at least one of an integer type, a literal type, or a text type. Including
Determining whether to enable one or more search options for each of the data fields, wherein the one or more search options include an option to include each data field in a search index to be generated Including at least one of an option for calculating the number of facets for each of the data fields, or an option for providing one or more values associated with the respective data fields;
Generating a search index configuration for the data based at least in part on the field type of each data field included in the data and the determination of whether to enable the one or more search options. ,
Generating a search index for the data based at least in part on the search index configuration for the data;
A computer-implemented method comprising:
A2. The data is data in the first format,
Converting the data from the first format to a second format, wherein the second format is comparable to the search index; and
Storing the data converted to the second format on one or more storage allocations;
The computer-implemented method of paragraph A1, further comprising:
A3. Converting the data from the first format to the second format,
Comparing the first format to the second format; and
Modifying at least one data field associated with the first format to correspond to at least one data field associated with the second format;
A computer-implemented method according to paragraph A2, comprising:
A4. The method executed by the computer according to item A2, wherein the second format is a search data format (SDF).
A5. Receiving data to be indexed;
Determining a type of a data field associated with the data, wherein the type of the data field is determined from a plurality of types of data fields;
Determining one or more search options to be enabled for the data field associated with the data;
Generating an index structure for the data based at least in part on the type of the data field and the one or more search options; and
Generating a search index for the data based at least in part on the index configuration for the data;
A computer-implemented method comprising:
A6. The data is data in the first format,
Converting the data from the first format to a second format, the second format being adapted to the search index; and
Storing the data converted to the second format on one or more storage allocations;
A computer-implemented method according to paragraph A5, further comprising:
A7. Converting the data from the first format to the second format,
Comparing the first format to the second format; and
Changing at least one data tag associated with the first format to correspond to at least one data tag associated with the second format;
A computer-implemented method according to paragraph A6, comprising:
A8. The plurality of types of data fields is implemented by the computer of paragraph A5, including at least one of an integer type, a text type, a literal type, a geographic location type, a time type, a date type, or a floating point number type Method.
A9. Determining the type of the data field is
Determining that the value associated with the data field has an amount of integer characters greater than a specified integer amount threshold; and
Determining that the type of the data field is the integer type;
A computer-implemented method according to paragraph A8, comprising:
A10. Determining the type of the data field is
A value associated with the data field having an amount of alphanumeric characters greater than the specified text amount threshold, a number of different values associated with the data field exceeding the specified text difference threshold, specified Determining at least one of a percentage of different values above a text difference percentage threshold, or a length of a value above a specified text length threshold; and
Determining that the type of the data field is the text type;
A computer-implemented method according to paragraph A8, comprising:
A11. Determining the type of the data field is
A value associated with the data field that has an amount of alphabetic characters that exceeds the specified lower literal amount threshold but is less than the specified upper literal amount threshold, and the data field that is less than the specified literal difference amount threshold. Determine at least one of several associated different values, the percentage of different values that are less than a specified literal difference percentage threshold, or the length of a value that is less than a specified literal length threshold And
Determining that the type of the data field is the literal type;
A computer-implemented method according to paragraph A8, comprising:
A12. The one or more search options include an option to include the data field in the search index to be generated, an option to calculate the number of facets for the data field, or to the data field in response to an associated search query. The computer-implemented method of paragraph A5, comprising at least one of an option that provides an associated value.
A13. Determining the one or more search options to be enabled comprises determining to enable the option to include the data field in the search index to be generated, the determination comprising: At least one of receiving a signal included in the data field indicating that the data field should be included in the search index, or determining that the type of the data field is a literal type A computer-implemented method of paragraph A12, based at least in part.
A14. The determining of the one or more search options to be enabled comprises determining to enable the option of calculating the facet number for the data field, the determination being associated with the data field. The computer-implemented method of paragraph A12, wherein the amount for the plurality of distributions of values specified is based at least in part on determining that the amount is less than a specified facet count upper threshold.
A15. Determining the one or more search options to be enabled determines to enable the option to provide the value associated with the data field in response to the associated search query. The determination includes receiving a signal included in the data field, indicating that the value associated with the data field is provided, or the length of the value associated with the data field is The computer-implemented method of paragraph A12, based at least in part on determining that the return value length is less than a specified return value length threshold.
A16. The computer-implemented method of paragraph A5, further comprising providing at least one of the data, the index configuration, or the index that is searchable by one or more search queries.
A1. The computer-implemented method of paragraph A5, further comprising changing the index configuration based at least in part on input initiated by one or more users.
A18. At least one communication transceiver;
One or more storage allocations;
At least one processor, and
A memory device containing instructions and
When the instructions are executed by the at least one processor, the system includes:
Receiving data to be indexed via the at least one communication transceiver;
Determining a type of a data field associated with the data, wherein the type of the data field is determined from a plurality of types of data fields;
Determining one or more search options to be enabled for the data field associated with the data;
Generating an index structure for the data based at least in part on the type of the data field and the one or more search options; and
A system that generates a search index for the data based at least in part on the index configuration for the data.
A19. The data is data in a first format, and the instructions are further passed to the system,
Converting the data from the first format to a second format, the second format being adapted to the search index; and
The system according to A18, wherein the data converted into the second format is stored on the one or more storage allocations.
A20. The instructions cause the system to compare the first format with the second format and change at least one data field associated with the first format to the second format. The system of clause A19, wherein the data is converted from the first format to the second format based on corresponding to at least one associated data field.
A21. A non-transitory computer readable storage medium containing instructions for identifying an element, the instructions being executed by a processor of the computing system,
Receive data to be indexed,
Determining a type of a data field associated with the data, wherein the type of the data field is determined from a plurality of types of data fields;
Determining one or more search options to be enabled for the data field associated with the data;
Generating an index structure for the data based at least in part on the type of the data field and the one or more search options; and
Generating a search index for the data based at least in part on the index configuration for the data;
A non-transitory computer-readable storage medium.
A22. The non-transitory computer readable item of paragraph A21, wherein the plurality of types of data fields include at least one of an integer type, a text type, a literal type, a geographic location type, a time type, a date type, or a floating point number type. Storage medium.
A23. The instruction causes the computing system to have a value associated with the data field having an amount of alphabetic characters that exceeds the specified lower literal amount threshold but less than the specified upper literal amount threshold, the specified literal. Several different values associated with the data field that are less than the difference threshold, the percentage of different values that are less than the specified literal difference percentage threshold, or the length of the value that is less than the specified literal length threshold The non-transitory computer readable storage medium of paragraph A22, wherein the non-transitory computer-readable storage medium causes the type of the data field to be determined to be the literal type based on determining at least one of:
A24. The one or more search options include the option to include the data field in the search index to be generated, the option to calculate the number of facets for the data field, or the data field in response to an associated search query. The non-transitory computer readable storage medium of paragraph A21, comprising at least one of an option that provides a value associated with.
A25. The determining of the one or more search options to be enabled comprises determining to enable the option of calculating the facet number for the data field, the determination being associated with the data field. A non-transitory of paragraph A24, wherein the amount for the at least one value specified is at least partially based on determining that the amount is greater than the specified facet count lower threshold and less than the specified facet count upper threshold Computer-readable storage medium.
B1. A computer-implemented method for dynamic search partitioning comprising:
Monitoring at least one of the amount of stored data or the rate at which data is being manipulated on a first partition provided by a network service, the first partition comprising the network service Included in the storage allocation provided by
Detecting that said at least one of said amount or said ratio exceeds each of a specified amount threshold or a specified ratio threshold;
Responsive to the detecting, performing at least one of increasing the size of the first partition, or adding at least a second partition to the storage allocation, the increasing or The additional at least one is based at least in part on the amount of stored data or the rate at which the data is being manipulated;
Directing network traffic associated with the storage allocation to the cache provided by the network service during the increase or the additional at least one; and
Directing the network traffic to the storage allocation when completing the at least one of the increase or the additional; and
A computer-implemented method comprising:
B2. Monitoring a search index for the storage allocation;
Detecting that the size of the search index exceeds a specified index size threshold; and
Updating the search index for the storage allocation to reflect the increase or the additional at least one of the storage allocation;
The computer-implemented method of paragraph B1, further comprising:
B3. The increase to the size of the first partition is performed when the size of the first partition is less than a maximum partition size threshold, and at least the addition of the second partition is The computer implemented method of paragraph B1, executed when the size of the first partition is at the maximum partition size threshold.
B4. Monitoring data usage on storage allocation in a networked environment, the storage allocation having several partitions including at least one partition;
Determining whether the data usage on the at least one partition included in the storage allocation exceeds a specified threshold;
Changing at least one of the size of the at least one partition or the number of several partitions included in the storage allocation;
Directing network traffic associated with the storage allocation away from a portion of the storage allocation associated with the size or the number of the at least one of the changing, and
Directing the network traffic to the portion of the storage allocation associated with the change when the change is complete;
A computer-implemented method comprising:
B5. Detecting that the size of the search index for the storage allocation exceeds a specified index size threshold; and
Updating the search index for the storage allocation based on changing the size of the at least one partition or the at least one of the number of partitions included in the storage allocation. When,
A computer-implemented method according to paragraph B4, comprising:
B6. The updating the search index reflects the changing the size of the at least one partition or the at least one of the number of partitions included in the storage allocation, Reconstructing the search index for the storage allocation, the computer-implemented method of paragraph B5.
B7. The data usage is performed by the computer of paragraph B4, including at least one of an amount of data stored on the storage allocation, or a rate at which data is being manipulated on the storage allocation. Method.
B8. The specified threshold includes at least one of a specified amount threshold or a specified ratio threshold, and the amount of stored data exceeds the specified amount threshold, or data The computer-implemented method of paragraph B7, wherein the data usage exceeds the specified threshold when at least one of the ratio being manipulated exceeds the specified ratio threshold.
B9. The computer-implemented method of paragraph B8, wherein the specified threshold is calculated based at least in part on information relating to historical data usage.
B10. Determining that the amount of network traffic directed to the storage allocation is above a specified traffic threshold; and
Changing the storage allocation based on the amount of network traffic;
The computer-implemented method of paragraph B4, further comprising:
B11. The computer implemented method of paragraph B10, wherein the network traffic includes search query traffic for searching data stored on the storage allocation.
B12. Changing the storage allocation based on the amount of network traffic includes changing the size of the at least one partition, changing the number of partitions, or included in the number of partitions The computer-implemented method of paragraph B10, comprising replacing at least one partition with at least one partition having a different specification.
B13. The computer implemented method of paragraph B12, wherein the different specifications include at least one of different CPU power, different RAM capacity, different hard disk space capacity, or different bandwidth capacity.
B14. Changing the size of the at least one partition, or the at least one of the number of the several partitions, changes the size of the at least one partition, or the number of the several partitions, the at least one. And increasing the size of the at least one partition is performed when the size of the at least one partition is less than a maximum partition size threshold, and the number of the partitions. The computer implemented method of paragraph B4, wherein the increasing the number is performed when the size of the at least one partition is at a maximum partition size threshold.
B15. Changing the size of the at least one partition, or the at least one of the number of the several partitions, is changing the size of the at least one partition or the number of the several partitions. Reducing the number of the some of the partitions is performed when the number of the partitions is greater than 1, and reducing the size of the at least one partition. Is executed by the computer of paragraph B4, which is executed when the number of partitions is one.
B16. Determining the CPU usage of the storage allocation, and changing the at least one of the size or the number is the data usage on the storage allocation, or the determined The computer-implemented method of paragraph B4, wherein the method is based on at least one of the CPU usage of the storage allocation.
B17. The computer-implemented method of paragraph B4, further comprising changing the configuration of the storage allocation based on at least one of a configuration associated with the data usage or an input initiated by a user. .
B18. Executed by the computer of paragraph B4, further comprising: determining when to perform the change to the size or the number of the at least one based on resources available for the storage allocation. Method.
B19. A storage allocation having several partitions, including at least one partition;
At least one processor, and
A memory device containing instructions and
When the instructions are executed by the at least one processor, the system includes:
Monitor the data usage on the above storage allocation,
Determining whether the data usage on the at least one partition included in the storage allocation exceeds a specified threshold;
Change the size of the at least one partition, or the number of the several partitions included in the storage allocation,
Directing network traffic associated with the storage allocation away from a portion of the storage allocation associated with the size or number of the at least one of the changing; and
A system that directs the network traffic to the portion of the storage allocation associated with the change when the change is complete.
B20. Changing the network traffic directed away from the portion of the storage allocation and the size or the number of the at least one while changing the size or the number of the at least one The system of paragraph B19, further comprising: at least one load balancer configured to facilitate the network traffic directed to the portion of the storage allocation when completed.
B21. The system of paragraph B20, wherein the at least one load balancer is configured to direct the network traffic across the number of partitions included in the storage allocation.
B22. Facilitating the monitoring of the data usage on the storage allocation and determining whether the data usage on the at least one partition included in the storage allocation exceeds a specified threshold The system of paragraph B19, further comprising at least one monitoring module configured to:
B23. A non-transitory computer readable storage medium containing instructions for identifying an element, the instructions being executed by a processor of the computing system,
Monitor data usage on storage allocation in a networked environment, the storage allocation having several partitions including at least one partition;
Determining whether the data usage on the at least one partition included in the storage allocation exceeds a specified threshold;
Change at least one of the size of the at least one partition or the number of the several partitions included in the storage allocation;
Directing network traffic associated with the storage allocation away from a portion of the storage allocation associated with the size or number of the at least one of the changing; and
A non-transitory computer readable storage medium that directs the network traffic to the portion of the storage allocation associated with the change when the change is complete.
B24. The instructions further detect in the computing system that a size of a search index for the storage allocation exceeds a size threshold for a specified index, and the size of the at least one partition, or the storage allocation. The non-transitory computer readable storage medium of paragraph B23, wherein the search index for the storage allocation is updated based on the change of the at least one of the several partitions included in the storage.
B25. Updating the search index to reflect the size of the at least one partition or the change of the at least one of the number of the partitions included in the storage allocation. The non-transitory computer readable storage medium of paragraph B24, comprising reconstructing the search index for storage allocation.

本開示の種々の実施形態を、以下の項を考慮して記載する。
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項の非一時的コンピュータ可読記憶媒体。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[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]に記載のコンピュータにより実行される方法。
Various embodiments of the present disclosure are described in view of the following sections.
A1. A computer-implemented method for index construction for searchable data in a networked environment, comprising:
Receiving data to be indexed, the data comprising a plurality of data fields;
Determining a name associated with each data field in the plurality of data fields;
Determining a field type of a plurality of field types associated with each data field in the plurality of data fields, wherein the plurality of field types include at least one of an integer type, a literal type, or a text type. Including
Determining whether to enable one or more search options for each of the data fields, wherein the one or more search options include an option to include each data field in a search index to be generated Including at least one of an option for calculating the number of facets for each of the data fields, or an option for providing one or more values associated with the respective data fields;
Generating a search index configuration for the data based at least in part on the field type of each data field included in the data and the determination of whether to enable the one or more search options. ,
Generating a search index for the data based at least in part on the search index configuration for the data;
A computer-implemented method comprising:
A2. The data is data in the first format,
Converting the data from the first format to a second format, wherein the second format is comparable to the search index, and on one or more storage allocations, Storing the data converted to the second format;
The computer-implemented method of paragraph A1, further comprising:
A3. Converting the data from the first format to the second format,
Comparing the first format with the second format, and changing at least one data field associated with the first format to at least one data associated with the second format Corresponding to the field,
A computer-implemented method according to paragraph A2, comprising:
A4. The method executed by the computer according to item A2, wherein the second format is a search data format (SDF).
A5. Receiving data to be indexed;
Determining a type of a data field associated with the data, wherein the type of the data field is determined from a plurality of types of data fields;
Determining one or more search options to be enabled for the data field associated with the data;
Generating an index structure for the data based at least in part on the type of the data field and the one or more search options, and based at least in part on the index structure for the data, Generating a search index on the data;
A computer-implemented method comprising:
A6. The data is data in the first format,
Converting the data from the first format to a second format, wherein the second format is compatible with the search index, and on one or more storage allocations, Storing the data converted to the second format;
A computer-implemented method according to paragraph A5, further comprising:
A7. Converting the data from the first format to the second format,
Comparing the first format with the second format, and changing at least one data tag associated with the first format to at least one data associated with the second format Corresponding to the tag,
A computer-implemented method according to paragraph A6, comprising:
A8. The plurality of types of data fields is implemented by the computer of paragraph A5, including at least one of an integer type, a text type, a literal type, a geographic location type, a time type, a date type, or a floating point number type Method.
A9. Determining the type of the data field is
Determining that the value associated with the data field has an amount of integer characters greater than a specified integer amount threshold; and determining that the type of the data field is the integer type. And
A computer-implemented method according to paragraph A8, comprising:
A10. Determining the type of the data field is
A value associated with the data field having an amount of alphanumeric characters greater than the specified text amount threshold, a number of different values associated with the data field exceeding the specified text difference threshold, specified Determining at least one of a percentage of different values above a text difference percentage threshold, or a length of a value above a specified text length threshold, and the type of the data field as the text type To determine that
A computer-implemented method according to paragraph A8, comprising:
A11. Determining the type of the data field is
A value associated with the data field that has an amount of alphabetic characters that exceeds the specified lower literal amount threshold but is less than the specified upper literal amount threshold, and the data field that is less than the specified literal difference amount threshold. Determine at least one of several associated different values, the percentage of different values that are less than a specified literal difference percentage threshold, or the length of a value that is less than a specified literal length threshold And determining that the type of the data field is the literal type;
A computer-implemented method according to paragraph A8, comprising:
A12. The one or more search options include an option to include the data field in the search index to be generated, an option to calculate the number of facets for the data field, or to the data field in response to an associated search query. The computer-implemented method of paragraph A5, comprising at least one of an option that provides an associated value.
A13. Determining the one or more search options to be enabled comprises determining to enable the option to include the data field in the search index to be generated, the determination comprising: At least one of receiving a signal included in the data field indicating that the data field should be included in the search index, or determining that the type of the data field is a literal type A computer-implemented method of paragraph A12, based at least in part.
A14. The determining of the one or more search options to be enabled comprises determining to enable the option of calculating the facet number for the data field, the determination being associated with the data field. The computer-implemented method of paragraph A12, wherein the amount for the plurality of distributions of values specified is based at least in part on determining that the amount is less than a specified facet count upper threshold.
A15. Determining the one or more search options to be enabled determines to enable the option to provide the value associated with the data field in response to the associated search query. The determination includes receiving a signal included in the data field, indicating that the value associated with the data field is provided, or the length of the value associated with the data field is The computer-implemented method of paragraph A12, based at least in part on determining that the return value length is less than a specified return value length threshold.
A16. The computer-implemented method of paragraph A5, further comprising providing at least one of the data, the index configuration, or the index that is searchable by one or more search queries.
A1. The computer-implemented method of paragraph A5, further comprising changing the index configuration based at least in part on input initiated by one or more users.
A18. At least one communication transceiver;
One or more storage allocations;
A system comprising: at least one processor; and a memory device including instructions, wherein when the instructions are executed by the at least one processor, the system includes:
Receiving data to be indexed via the at least one communication transceiver;
Determining a type of a data field associated with the data, wherein the type of the data field is determined from a plurality of types of data fields;
Determining one or more search options to be enabled for the data field associated with the data;
Generating an index structure for the data based at least in part on the type of the data field and the one or more search options, and for the data based at least in part on the index structure for the data A system that generates a search index.
A19. The data is data in a first format, and the instructions are further passed to the system,
Converting the data from the first format to a second format, the second format being adapted to the search index, and the second format on the one or more storage allocations The system according to A18, wherein the data converted into the data is stored.
A20. The instructions cause the system to compare the first format with the second format and change at least one data field associated with the first format to the second format. The system of clause A19, wherein the data is converted from the first format to the second format based on corresponding to at least one associated data field.
A21. A non-transitory computer readable storage medium containing instructions for identifying an element, the instructions being executed by a processor of the computing system,
Receive data to be indexed,
Determining a type of a data field associated with the data, wherein the type of the data field is determined from a plurality of types of data fields;
Determining one or more search options to be enabled for the data field associated with the data;
Generating an index structure for the data based at least in part on the type of the data field and the one or more search options, and for the data based at least in part on the index structure for the data Generate search index,
A non-transitory computer-readable storage medium.
A22. The non-transitory computer readable item of paragraph A21, wherein the plurality of types of data fields include at least one of an integer type, a text type, a literal type, a geographic location type, a time type, a date type, or a floating point number type. Storage medium.
A23. The instruction causes the computing system to have a value associated with the data field having an amount of alphabetic characters that exceeds the specified lower literal amount threshold but less than the specified upper literal amount threshold, the specified literal. Several different values associated with the data field that are less than the difference threshold, the percentage of different values that are less than the specified literal difference percentage threshold, or the length of the value that is less than the specified literal length threshold The non-transitory computer readable storage medium of paragraph A22, wherein the non-transitory computer-readable storage medium causes the type of the data field to be determined to be the literal type based on determining at least one of:
A24. The one or more search options include the option to include the data field in the search index to be generated, the option to calculate the number of facets for the data field, or the data field in response to an associated search query. The non-transitory computer readable storage medium of paragraph A21, comprising at least one of an option that provides a value associated with.
A25. The determining of the one or more search options to be enabled comprises determining to enable the option of calculating the facet number for the data field, the determination being associated with the data field. A non-transitory of paragraph A24, wherein the amount for the at least one value specified is at least partially based on determining that the amount is greater than the specified facet count lower threshold and less than the specified facet count upper threshold Computer-readable storage medium.
B1. A computer-implemented method for dynamic search partitioning comprising:
Monitoring at least one of the amount of stored data or the rate at which data is being manipulated on a first partition provided by a network service, the first partition comprising the network service Included in the storage allocation provided by
Detecting that said at least one of said amount or said ratio exceeds each of a specified amount threshold or a specified ratio threshold;
Responsive to the detecting, performing at least one of increasing the size of the first partition, or adding at least a second partition to the storage allocation, the increasing or The additional at least one is based at least in part on the amount of stored data or the rate at which the data is being manipulated;
Directing network traffic associated with the storage allocation to the cache provided by the network service during the increase or the additional at least one, and the increase or the additional at least one Directing the network traffic to the storage allocation when execution is complete;
A computer-implemented method comprising:
B2. Monitoring a search index for the storage allocation;
Detecting that the size of the search index exceeds a specified index size threshold, and reflecting the search index for the storage allocation to the increase or the additional at least one of the storage allocation To update to
The computer-implemented method of paragraph B1, further comprising:
B3. The increase to the size of the first partition is performed when the size of the first partition is less than a maximum partition size threshold, and at least the addition of the second partition is The computer implemented method of paragraph B1, executed when the size of the first partition is at the maximum partition size threshold.
B4. Monitoring data usage on storage allocation in a networked environment, the storage allocation having several partitions including at least one partition;
Determining whether the data usage on the at least one partition included in the storage allocation exceeds a specified threshold;
Changing at least one of the size of the at least one partition or the number of several partitions included in the storage allocation;
Directing network traffic associated with the storage allocation away from a part of the storage allocation associated with the size or the number of the at least one of the changing, and the changing Directing the network traffic to the portion of the storage allocation associated with the modification when
A computer-implemented method comprising:
B5. Detecting that the size of the search index for the storage allocation exceeds a specified index size threshold; and the size of the at least one partition, or the number of partitions included in the storage allocation. Updating the search index for the storage allocation based on changing the at least one of the numbers;
A computer-implemented method according to paragraph B4, comprising:
B6. The updating the search index reflects the changing the size of the at least one partition or the at least one of the number of partitions included in the storage allocation, Reconstructing the search index for the storage allocation, the computer-implemented method of paragraph B5.
B7. The data usage is performed by the computer of paragraph B4, including at least one of an amount of data stored on the storage allocation, or a rate at which data is being manipulated on the storage allocation. Method.
B8. The specified threshold includes at least one of a specified amount threshold or a specified ratio threshold, and the amount of stored data exceeds the specified amount threshold, or data The computer-implemented method of paragraph B7, wherein the data usage exceeds the specified threshold when at least one of the ratio being manipulated exceeds the specified ratio threshold.
B9. The computer-implemented method of paragraph B8, wherein the specified threshold is calculated based at least in part on information relating to historical data usage.
B10. Determining that the amount of network traffic directed to the storage allocation exceeds a specified traffic threshold; and changing the storage allocation based on the amount of network traffic;
The computer-implemented method of paragraph B4, further comprising:
B11. The computer implemented method of paragraph B10, wherein the network traffic includes search query traffic for searching data stored on the storage allocation.
B12. Changing the storage allocation based on the amount of network traffic includes changing the size of the at least one partition, changing the number of partitions, or included in the number of partitions The computer-implemented method of paragraph B10, comprising replacing at least one partition with at least one partition having a different specification.
B13. The computer implemented method of paragraph B12, wherein the different specifications include at least one of different CPU power, different RAM capacity, different hard disk space capacity, or different bandwidth capacity.
B14. Changing the size of the at least one partition, or the at least one of the number of the several partitions, changes the size of the at least one partition, or the number of the several partitions, the at least one. And increasing the size of the at least one partition is performed when the size of the at least one partition is less than a maximum partition size threshold, and the number of the partitions. The computer implemented method of paragraph B4, wherein the increasing the number is performed when the size of the at least one partition is at a maximum partition size threshold.
B15. Changing the size of the at least one partition, or the at least one of the number of the several partitions, is changing the size of the at least one partition or the number of the several partitions. Reducing the number of the some of the partitions is performed when the number of the partitions is greater than 1, and reducing the size of the at least one partition. Is executed by the computer of paragraph B4, which is executed when the number of partitions is one.
B16. Determining the CPU usage of the storage allocation, and changing the at least one of the size or the number is the data usage on the storage allocation, or the determined The computer-implemented method of paragraph B4, wherein the method is based on at least one of the CPU usage of the storage allocation.
B17. The computer-implemented method of paragraph B4, further comprising changing the configuration of the storage allocation based on at least one of a configuration associated with the data usage or an input initiated by a user. .
B18. Executed by the computer of paragraph B4, further comprising: determining when to perform the change to the size or the number of the at least one based on resources available for the storage allocation. Method.
B19. A storage allocation having several partitions, including at least one partition;
A system comprising: at least one processor; and a memory device including instructions, wherein when the instructions are executed by the at least one processor, the system includes:
Monitor the data usage on the above storage allocation,
Determining whether the data usage on the at least one partition included in the storage allocation exceeds a specified threshold;
Change the size of the at least one partition, or the number of the several partitions included in the storage allocation,
Directing network traffic associated with the storage allocation away from a portion of the storage allocation associated with the size or number of the at least one of the changing and completing the changing And directing the network traffic to the portion of the storage allocation associated with the changing.
B20. Changing the network traffic directed away from the portion of the storage allocation and the size or the number of the at least one while changing the size or the number of the at least one The system of paragraph B19, further comprising: at least one load balancer configured to facilitate the network traffic directed to the portion of the storage allocation when completed.
B21. The system of paragraph B20, wherein the at least one load balancer is configured to direct the network traffic across the number of partitions included in the storage allocation.
B22. Facilitating the monitoring of the data usage on the storage allocation and determining whether the data usage on the at least one partition included in the storage allocation exceeds a specified threshold The system of paragraph B19, further comprising at least one monitoring module configured to:
B23. A non-transitory computer readable storage medium containing instructions for identifying an element, the instructions being executed by a processor of the computing system,
Monitor data usage on storage allocation in a networked environment, the storage allocation having several partitions including at least one partition;
Determining whether the data usage on the at least one partition included in the storage allocation exceeds a specified threshold;
Change at least one of the size of the at least one partition or the number of the several partitions included in the storage allocation;
Directing network traffic associated with the storage allocation away from a portion of the storage allocation associated with the size or number of the at least one of the changing and completing the changing A non-transitory computer readable storage medium that directs the network traffic to the portion of the storage allocation associated with the modification.
B24. The instructions further detect in the computing system that a size of a search index for the storage allocation exceeds a size threshold for a specified index, and the size of the at least one partition, or the storage allocation. The non-transitory computer readable storage medium of paragraph B23, wherein the search index for the storage allocation is updated based on the change of the at least one of the several partitions included in the storage.
B25. Updating the search index to reflect the size of the at least one partition or the change of the at least one of the number of the partitions included in the storage allocation. The non-transitory computer readable storage medium of paragraph B24, comprising reconstructing the search index for storage allocation.
Hereinafter, the invention described in the scope of claims of the present application will be appended.
[1] monitoring data usage for storage allocation in a networked environment, the storage allocation having several partitions including at least one partition;
Determining whether the data usage on the at least one partition included in the storage allocation exceeds a specified threshold;
Changing at least one of the size of the at least one partition or the number of the partitions included in the storage allocation;
Directing network traffic associated with the storage allocation away from a portion of the storage allocation associated with changing at least one of the size or number;
Directing the network traffic to the portion of the storage allocation associated with the change when the change is complete;
A computer-implemented method comprising:
[2] detecting that the size of the search index for the storage allocation exceeds a specified index size threshold; and
Updating the search index for the storage allocation based on changing at least one of the size of the at least one partition or the number of several partitions included in the storage allocation;
A computer-implemented method according to [1], comprising:
[3] The updating of the search index reflects the change of the size of the at least one partition or the number of partitions included in the storage allocation. The computer-implemented method of [2], comprising rebuilding the search index for the storage allocation.
[4] The data usage includes at least one of an amount of data stored on the storage allocation or a rate at which data is operated on the storage allocation. A method performed by a computer.
[5] The specified threshold includes at least one of a specified quantity threshold or a specified ratio threshold, and the amount of stored data exceeds the specified quantity threshold, or The computer implemented in [4], wherein the data usage exceeds the specified threshold when at least one of the ratios at which data is manipulated exceeds the specified ratio threshold occurs. Method.
[6] The computer-implemented method according to [5], wherein the specified threshold value is calculated based at least in part on information relating to historical data usage.
[7] Determining that an amount of network traffic directed to the storage allocation exceeds a specified traffic threshold; and changing the storage allocation based on the amount of network traffic;
The method executed by the computer according to [1], further comprising:
[8] The computer-implemented method of [7], wherein the network traffic includes search query traffic for searching data stored on the storage allocation.
[9] Changing the storage allocation based on the amount of network traffic, changing the size of the at least one partition, changing the number of the several partitions, or how many The computer-implemented method of [7], comprising at least one of replacing at least one partition included in the partition with at least one partition having a different specification.
[10] The computer-implemented method of [9], wherein the different specifications include at least one of different CPU power, different RAM capacity, different hard disk space capacity, or different bandwidth capacity. .
[11] Changing at least one of the size of the at least one partition or the number of the several partitions is at least one of the size of the at least one partition or the number of the several partitions Increasing the size of the at least one partition is performed when the size of the at least one partition is less than a maximum partition size threshold, and the number of the some partitions is The computer-implemented method of [1], wherein the increasing is performed when the size of the at least one partition is at a maximum partition size threshold.
[12] Changing at least one of the size of the at least one partition or the number of the several partitions is at least one of the size of the at least one partition or the number of the several partitions Reducing the number of partitions is performed when the number of the number of partitions is greater than 1, and reducing the size of the at least one partition, The method executed by the computer according to [1], which is executed when the number of some partitions is one.
[13] The method further comprises determining a CPU usage rate of the storage allocation, and changing at least one of the size or the number is the data usage related to the storage allocation or the determined The computer-implemented method of [1], based on at least one of the CPU usage rates of the storage allocation.
[14] The computer according to [1], further comprising changing the configuration of the storage allocation based on at least one of a configuration associated with the data usage or an input initiated by a user. The method performed by.
[15] The computer according to [1], further comprising determining when to change the size or the number at least one based on resources available for the storage allocation The method that is performed.

Claims (15)

ネットワーク化された環境における記憶域割り当てに関するデータ使用量を監視することであって、前記記憶域割り当ては、少なくとも1つのパーティションを含むいくつかのパーティションを有することと、
前記記憶域割り当てに含まれる前記少なくとも1つのパーティション上の前記データ使用量が、指定された閾値を超えるかを判定することと、
前記少なくとも1つのパーティションのサイズ、または前記記憶域割り当てに含まれる前記パーティションの数の少なくとも1つを変更することと、
前記記憶域割り当てに関連付けられたネットワークトラフィックを、前記サイズまたは数の少なくとも1つを変更することに関連付けられた前記記憶域割り当ての一部から離れて向けさせることと、
前記変更することが完了したとき、前記ネットワークトラフィックを、前記変更することに関連付けられた前記記憶域割り当ての前記一部に向けることと
を備えた、コンピュータにより実行される方法。
Monitoring data usage related to storage allocation in a networked environment, the storage allocation having several partitions including at least one partition;
Determining whether the data usage on the at least one partition included in the storage allocation exceeds a specified threshold;
Changing at least one of the size of the at least one partition or the number of the partitions included in the storage allocation;
Directing network traffic associated with the storage allocation away from a portion of the storage allocation associated with changing at least one of the size or number;
Directing the network traffic to the portion of the storage allocation associated with the change when the change is complete.
前記記憶域割り当てに対する検索インデックスのサイズが、指定されたインデックスサイズ閾値を超えることを検出することと、および
前記少なくとも1つのパーティションの前記サイズ、または前記記憶域割り当てに含まれるいくつかのパーティションの数の少なくとも1つを変更することに基づいて、前記記憶域割り当てに対する前記検索インデックスを更新することと
を備えた、請求項1に記載のコンピュータにより実行される方法。
Detecting that the size of the search index for the storage allocation exceeds a specified index size threshold; and the size of the at least one partition or the number of some partitions included in the storage allocation The computer-implemented method of claim 1, comprising updating the search index for the storage allocation based on changing at least one of the following.
前記検索インデックスを前記更新することが、前記少なくとも1つのパーティションの前記サイズ、または前記記憶域割り当てに含まれる前記いくつかのパーティション数の少なくとも1つを前記変更することを反映するように、前記記憶域割り当てに対する前記検索インデックスを再構築することを含む、請求項2に記載のコンピュータにより実行される方法。   The storage to reflect the updating of the search index reflects the size of the at least one partition, or the at least one of the number of partitions included in the storage allocation. The computer-implemented method of claim 2, comprising reconstructing the search index for area allocation. 前記データ使用量が、前記記憶域割り当て上に記憶されているデータの量、または前記記憶域割り当て上でデータが操作されている比率の少なくとも1つを含む、請求項1に記載のコンピュータにより実行される方法。   The computer-implemented method of claim 1, wherein the data usage includes at least one of an amount of data stored on the storage allocation or a rate at which data is being manipulated on the storage allocation. How to be. 前記指定された閾値が、指定された量閾値または指定された比率閾値の少なくとも1つを含み、前記記憶されているデータの量が、前記指定された量閾値を超えること、または前記データが操作されている比率が、前記指定された比率閾値を超えることの少なくとも1つが発生するとき、前記データ使用量が前記指定された閾値を超える、請求項4に記載のコンピュータにより実行される方法。   The specified threshold includes at least one of a specified quantity threshold or a specified ratio threshold, and the amount of stored data exceeds the specified quantity threshold, or the data is manipulated The computer-implemented method of claim 4, wherein the data usage exceeds the specified threshold when at least one of the ratio being exceeded exceeds the specified ratio threshold. 前記指定された閾値は、履歴データ使用量に関する情報に少なくとも部分的に基づいて算出される、請求項5に記載のコンピュータにより実行される方法。   The computer-implemented method of claim 5, wherein the specified threshold is calculated based at least in part on information relating to historical data usage. 前記記憶域割り当てに向けられるネットワークトラフィックの量が、指定されたトラフィック閾値を上回ると判定することと、 前記ネットワークトラフィックの量に基づいて、前記記憶域割り当てを変更することと
をさらに備えた、請求項1に記載のコンピュータにより実行される方法。
Further comprising: determining that an amount of network traffic directed to the storage allocation exceeds a specified traffic threshold; and changing the storage allocation based on the amount of network traffic. A method executed by the computer according to Item 1.
前記ネットワークトラフィックが、前記記憶域割り当て上に記憶されたデータを検索するための検索クエリトラフィックを含む、請求項7に記載のコンピュータにより実行される方法。   8. The computer-implemented method of claim 7, wherein the network traffic includes search query traffic for searching data stored on the storage allocation. 前記ネットワークトラフィックの量に基づいて、前記記憶域割り当てを変更することが、前記少なくとも1つのパーティションの前記サイズを変更すること、前記いくつかのパーティションの数を変更すること、または前記いくつかのパーティションに含まれる少なくとも1つのパーティションを、異なる仕様を有する少なくとも1つのパーティションに置き換えることのうちの少なくとも1つを含む、請求項7に記載のコンピュータにより実行される方法。   Changing the storage allocation based on the amount of network traffic, changing the size of the at least one partition, changing the number of the some partitions, or the some partitions The computer-implemented method of claim 7, comprising at least one of replacing at least one partition comprised in at least one partition having a different specification. 前記異なる仕様が、異なるCPUパワー、異なるRAMの容量、異なるハードディスクスペースの容量、または異なる帯域幅の容量のうちの少なくとも1つを含む、請求項9に記載のコンピュータにより実行される方法。   The computer-implemented method of claim 9, wherein the different specifications include at least one of different CPU power, different RAM capacity, different hard disk space capacity, or different bandwidth capacity. 前記少なくとも1つのパーティションのサイズ、または前記いくつかのパーティションの数の少なくとも1つを変更することが、前記少なくとも1つのパーティションの前記サイズ、または前記いくつかのパーティションの数の少なくとも1つを増大させることを含み、前記少なくとも1つのパーティションのサイズを増大させることが、前記少なくとも1つのパーティションのサイズが最大パーティションサイズ閾値未満である場合に実行され、かつ、前記いくつかのパーティションの数を前記増大させることは、前記少なくとも1つのパーティションのサイズが最大パーティションサイズ閾値にある場合に実行される、請求項1に記載のコンピュータにより実行される方法。   Changing the size of the at least one partition, or at least one of the number of the several partitions, increases the size of the at least one partition, or at least one of the number of the several partitions And increasing the size of the at least one partition is performed when the size of the at least one partition is less than a maximum partition size threshold, and increasing the number of the some partitions The computer-implemented method of claim 1, wherein is performed when the size of the at least one partition is at a maximum partition size threshold. 前記少なくとも1つのパーティションの前記サイズ、または前記いくつかのパーティションの数の少なくとも1つを変更することが、前記少なくとも1つのパーティションのサイズ、または前記いくつかのパーティションの数の少なくとも1つを減少させることを含み、前記いくつかのパーティションを減少させることが、前記いくつかのパーティションの数が1超である場合に実行され、かつ前記少なくとも1つのパーティションのサイズを減少させることが、前記いくつかのパーティションの数が1である場合に実行される、請求項1に記載のコンピュータにより実行される方法。   Changing at least one of the size of the at least one partition, or the number of the several partitions, reduces the size of the at least one partition, or at least one of the number of the several partitions Reducing the number of partitions is performed when the number of the number of partitions is greater than 1, and reducing the size of the at least one partition The computer-implemented method of claim 1, wherein the method is performed when the number of partitions is one. 前記記憶域割り当てのCPU使用率を判定することをさらに備え、前記サイズまたは前記数のうち少なくとも1つを変更することが、前記記憶域割り当てに関する前記データ使用量、または前記判定された、前記記憶域割り当てのCPU使用率の少なくとも1つに基づく、請求項1に記載のコンピュータにより実行される方法。   Determining the CPU usage of the storage allocation, wherein changing at least one of the size or the number is the data usage related to the storage allocation, or the determined storage The computer-implemented method of claim 1, wherein the method is based on at least one of CPU usage of area allocation. 前記データ使用量に関連付けられた構成、またはユーザにより開始される入力の少なくとも1つに基づいて、前記記憶域割り当ての構成を変更することをさらに備えた、請求項1に記載のコンピュータにより実行される方法。   The computer-implemented method of claim 1, further comprising changing the configuration of the storage allocation based on at least one of a configuration associated with the data usage or a user initiated input. Method. 前記記憶域割り当てに利用可能なリソースに基づいて、前記サイズまたは前記数少なくとも1つを変更することをいつ実行するかを判定することをさらに備えた、請求項1に記載のコンピュータにより実行される方法。   The computer-implemented method of claim 1, further comprising determining when to change the size or the number at least one based on resources available for the storage allocation. Method.
JP2016211567A 2012-10-12 2016-10-28 Index configuration for searchable data in the network Active JP6339155B2 (en)

Applications Claiming Priority (4)

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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015536973A Division JP2015532493A (en) 2012-10-12 2013-10-12 Index configuration for searchable data in the network

Publications (2)

Publication Number Publication Date
JP2017050012A true JP2017050012A (en) 2017-03-09
JP6339155B2 JP6339155B2 (en) 2018-06-06

Family

ID=50477970

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015536973A Pending JP2015532493A (en) 2012-10-12 2013-10-12 Index configuration for searchable data in the network
JP2016211567A Active JP6339155B2 (en) 2012-10-12 2016-10-28 Index configuration for searchable data in the network

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2015536973A Pending JP2015532493A (en) 2012-10-12 2013-10-12 Index configuration for searchable data in the network

Country Status (10)

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

Families Citing this family (27)

* 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
US9047326B2 (en) 2012-10-12 2015-06-02 A9.Com, Inc. Index configuration for searchable data in network
CN105979014A (en) * 2016-07-15 2016-09-28 柳州健科技有限公司 Network data system based on local area network
CN105979015A (en) * 2016-07-15 2016-09-28 柳州健科技有限公司 Network data service platform based on local area network
CN105978739A (en) * 2016-07-15 2016-09-28 柳州健科技有限公司 Network data platform based on local area network
CN105978913A (en) * 2016-07-15 2016-09-28 柳州健科技有限公司 Network service system
CN106131189A (en) * 2016-07-15 2016-11-16 柳州健科技有限公司 The network platform based on LAN
CN105979016A (en) * 2016-07-15 2016-09-28 柳州健科技有限公司 Local area network data service system
CN106131188A (en) * 2016-07-15 2016-11-16 柳州健科技有限公司 LAN system
CN106131190A (en) * 2016-07-16 2016-11-16 柳州健科技有限公司 The network platform with data monitoring function based on LAN
CN106131192A (en) * 2016-07-16 2016-11-16 柳州健科技有限公司 The network system with data monitoring function based on LAN
CN106060082A (en) * 2016-07-16 2016-10-26 柳州健科技有限公司 Local area network-based network service platform with data monitoring function
CN106131193A (en) * 2016-07-16 2016-11-16 柳州健科技有限公司 There is the local area network services platform of self-learning function
CN106101024A (en) * 2016-07-16 2016-11-09 柳州健科技有限公司 There is the LAN data system of data monitoring function
CN106131191A (en) * 2016-07-16 2016-11-16 柳州健科技有限公司 There is the LAN data service system of data monitoring function
CN106131195A (en) * 2016-07-16 2016-11-16 柳州健科技有限公司 There is the LAN system of data monitoring function
CN106131194A (en) * 2016-07-16 2016-11-16 柳州健科技有限公司 There is the LAN platform of self-learning function
CN106060083A (en) * 2016-07-16 2016-10-26 柳州健科技有限公司 Network service system with data monitoring function
CN106131196A (en) * 2016-07-16 2016-11-16 柳州健科技有限公司 The network system with self-learning function based on LAN
CN106060081A (en) * 2016-07-16 2016-10-26 柳州健科技有限公司 Network service platform with data monitor function
CN107977381B (en) * 2016-10-24 2021-08-27 华为技术有限公司 Data configuration method, index management method, related device and computing equipment
CN110019191A (en) * 2017-09-21 2019-07-16 阿里巴巴集团控股有限公司 Database information processing method and processing device
CN108881147B (en) * 2017-12-29 2019-07-05 视联动力信息技术股份有限公司 A kind of data processing method and device of view networking
CN110134661A (en) * 2019-05-22 2019-08-16 东北大学 A kind of academic big data storage querying method towards facet
CN112306604B (en) * 2020-08-21 2022-09-23 海信视像科技股份有限公司 Progress display method and display device for file transmission
US11658917B2 (en) * 2021-04-09 2023-05-23 Tekion Corp Selective offloading of bandwidth to enable large-scale data indexing
CN117596176B (en) * 2024-01-17 2024-04-19 苏州元脑智能科技有限公司 Network state measuring method, device, equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280099A (en) * 2006-04-07 2007-10-25 Hitachi Ltd System and method for executing migration in unit of directory in common name space
US7788233B1 (en) * 2007-07-05 2010-08-31 Amazon Technologies, Inc. Data store replication for entity based partition
WO2012020471A1 (en) * 2010-08-10 2012-02-16 株式会社日立製作所 Computer system management method and management system
JP2012507086A (en) * 2008-10-24 2012-03-22 マイクロソフト コーポレーション Partition management in partitioned, scalable and highly available structured storage

Family Cites Families (19)

* 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
US7457910B2 (en) * 2005-06-29 2008-11-25 Sandisk Corproation Method and system for managing partitions in a storage device
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 (en) * 2006-10-06 2013-06-26 日本電気株式会社 Information retrieval system, information retrieval method and program
US8965807B1 (en) * 2007-05-21 2015-02-24 Amazon Technologies, Inc. Selecting and providing items in a media consumption system
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 (en) * 2008-10-01 2011-08-31 株式会社日立製作所 A storage system that controls allocation of storage areas to virtual volumes that store specific pattern data
WO2010092576A1 (en) * 2009-02-11 2010-08-19 Xsignnet Ltd. Virtualized storage system and method of operating it
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
WO2011118427A1 (en) 2010-03-24 2011-09-29 日本電気株式会社 Query device, query division method, and program for query division
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 (en) * 2006-04-07 2007-10-25 Hitachi Ltd System and method for executing migration in unit of directory in common name space
US7788233B1 (en) * 2007-07-05 2010-08-31 Amazon Technologies, Inc. Data store replication for entity based partition
JP2012507086A (en) * 2008-10-24 2012-03-22 マイクロソフト コーポレーション Partition management in partitioned, scalable and highly available structured storage
WO2012020471A1 (en) * 2010-08-10 2012-02-16 株式会社日立製作所 Computer system management method and management system

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6339155B2 (en) Index configuration for searchable data in the network
US11595477B2 (en) Cloud storage methods and systems
US9411839B2 (en) Index configuration for searchable data in network
US10289603B2 (en) Dynamic search partitioning
US9954746B2 (en) Automatically generating service documentation based on actual usage
TWI478558B (en) Method, apparatus and computer program product for providing analysis and visualization of content items association
US10909772B2 (en) Precise scaling of virtual objects in an extended reality environment
US9245026B1 (en) Increasing the relevancy of search results across categories
KR102626764B1 (en) Interactive Information Interface
US10848434B2 (en) Performance management for query processing
US11250039B1 (en) Extreme multi-label classification
US9870347B1 (en) Network site conversion with respect to a development toolkit

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180131

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180509

R150 Certificate of patent or registration of utility model

Ref document number: 6339155

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