US 12,406,007 B2
Multi-record projection search platform
Deepak Srinivasan, Ashburn, VA (US); and Nathan Thillairajah, Washington, DC (US)
Assigned to YEXT, INC., New York, NY (US)
Filed by Yext, Inc., New York, NY (US)
Filed on Mar. 17, 2022, as Appl. No. 17/697,514.
Prior Publication US 2023/0297623 A1, Sep. 21, 2023
Int. Cl. G06F 16/9038 (2019.01); G06F 16/901 (2019.01); G06F 16/903 (2019.01); G06F 21/36 (2013.01)
CPC G06F 16/9038 (2019.01) [G06F 16/9024 (2019.01); G06F 16/90335 (2019.01); G06F 21/36 (2013.01)] 17 Claims
OG exemplary drawing
 
7. A system comprising:
a memory to store instructions; and
a processing device, operatively coupled to the memory, to execute the instructions to perform operations comprising:
receiving a search query from an end-user system;
identifying, in view of the search query, a first data record storing first data associated with a merchant system, wherein the first data record comprises a projected field associated with a multi-record field identifier, wherein the multi-record field identifier comprises multiple entity reference fields and a leaf field, and wherein the multi-record field identifier is configured to support projections of multiple hops by combining the multiple entity reference fields and the leaf field;
identifying, based on the multi-record field identifier, the multiple hops associated with the first data record in response to the search query;
executing a projected field resolution process to segment the multi-record field identifier into a set of components in accordance with a schema associated with the merchant system, wherein each component of the set of components corresponds to a data field of a data record, the segmenting including specifying a struct data type such that the multi-record field identifier includes a set of struct type fields, the struct data type including a subfield and representing a complex structured query language data type that models a data record;
identifying, by the processing device executing a search algorithm against the data value of a leaf component corresponding to the leaf field of the first data record, a second data record and a third data record, wherein the second data record and the third data record are part of a search result in response to the search query based on the multiple hops associated with the first data record; and
generating a graphical user interface including the search results, the search results including data values corresponding to the first data record, the second data record and the third data record.