US 11,921,759 B1
Operating a distributed search index in a content delivery network
Michele Riva, Carnate (IT); Paolo Insogna, Ferrazzano (IT); and Issac Roth, San Francisco, CA (US)
Assigned to Oramasearch Inc., San Francisco, CA (US)
Filed by Oramasearch Inc., San Francisco, CA (US)
Filed on Jul. 26, 2023, as Appl. No. 18/359,596.
Int. Cl. G06F 16/00 (2019.01); G06F 16/13 (2019.01); G06F 16/14 (2019.01); G06F 16/31 (2019.01); G06F 16/33 (2019.01); G06F 16/338 (2019.01)
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
OG exemplary drawing
 
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.