US 12,282,469 B2
Indexing structured data with security information
Michael Wilson, San Jose, CA (US); Philip Monroe, San Francisco, CA (US); Darius Kasad, San Ramon, CA (US); Tejas Mandke, Emeryville, CA (US); David Vieira, Oakland, CA (US); and Vladimir Giverts, San Francisco, CA (US)
Assigned to Workday, Inc., Pleasanton, CA (US)
Filed by Workday, Inc., Pleasanton, CA (US)
Filed on Jun. 30, 2020, as Appl. No. 16/917,386.
Application 16/917,386 is a continuation of application No. 14/814,376, filed on Jul. 30, 2015, granted, now 10,733,162.
Prior Publication US 2021/0004360 A1, Jan. 7, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/22 (2019.01); G06F 21/62 (2013.01)
CPC G06F 16/2228 (2019.01) [G06F 21/6227 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system for indexing and searching, comprising:
an input interface to receive a query to search for a term; and
a processor to determine a response to the query based at least in part on the term and an index field of a search index, wherein the index field comprises an index field value associated with a record field of a record and a security policy associated with the record and the record field, wherein the security policy comprises a first set of security groups for visibility of the record and a second set of security groups for visibility of the record field, wherein determining the response to the query comprises to:
determine a user security associated with the query to search for the term, wherein the user security includes a set of user security groups associated with a user;
modify the query, using the index field, to determine an expanded query that includes checks to perform record matching and field visibility matching of the record field to provide the record for the response to the query to search for the term, wherein the expanded query comprises the first set of security groups for visibility of the record, the second set of security groups for visibility of the record, and a set of tokenized values of the index field;
determine, using the expanded query, whether both the record and the record field are visible to the user, comprising determining the first set of security groups for visibility of the record includes a first at least one user security group of the set of user security groups and the second set of security groups for visibility of the record field of the record includes a second at least one user security group of the set of user security groups;
in response to a determination that both the record and the record field are visible to the user, determine, using the expanded query, whether the term matches the index field; and
in response to a determination that the term matches the index field value, field, include the record in the response to the query to search for the term, wherein the record in the response is obtained using the expanded query.