CPC G06F 16/325 (2019.01) [G06F 16/134 (2019.01); G06F 16/14 (2019.01); G06F 16/334 (2019.01); G06F 16/338 (2019.01)] | 24 Claims |
1. A method in a computing system, comprising:
accessing a profile for a search index against a corpus of documents, the profile specifying an identifier of the search index and a schema, the schema including, for each of one or more document fields indexed by the index, an identifier of the field, a data type of the field, and a number of index shards of the search index that corresponds to the field;
receiving a query that specifies, for each of at least a portion of the indexed fields, a query string containing one or more query terms;
for each of the indexed fields for which the query contains a query string:
for each of the query terms contained by the query string for the indexed field:
using a hashing approach specified for the data type of the field and the query term to select one of the index shards of the search index that corresponds to the field;
sending to a content delivery network hosting the search index a shard execution request identifying both the selected index shard and the query term; and
receiving from the content delivery network a response to the shard execution request that contains a list of document ids identifying documents of the corpus containing the query term in the indexed field;
such that, across the indexed fields for which the query contains a query string and the query terms contained by the query string for each indexed field, a plurality of responses are received that collectively contain a plurality of lists of document ids,
the method further comprising:
merging the plurality of lists of document ids contained by the plurality of received responses to obtain a query result identifying documents of the corpus that satisfy the query.
|