发明名称 Methods and systems for optimizing text searches over structured data in a multi-tenant environment
摘要 Search systems and methods for searching structured data and enhancing the relevancy of search results provided to a requesting user or application. Enhanced search results are provided by searching a cache of a user's most recently used items to eliminate or reduce search indexing latency. Also, more relevant search results are provided by re-ranking results based on use history, data security models and/or hierarchical user role models. Further, enhanced search results are provided by including user information in the search index.
申请公布号 US9465847(B2) 申请公布日期 2016.10.11
申请号 US201213589011 申请日期 2012.08.17
申请人 salesforce.com, inc. 发明人 Oliver Kevin;Hansma Scott;Weissman Craig;Nakada Paul;Walters Jeanine
分类号 G06F17/30 主分类号 G06F17/30
代理机构 代理人
主权项 1. A method of performing a text search over structured data in a system, the method comprising: receiving, at the system, a search request including a first search parameter from a user of the system, wherein the search request is for objects matching the first search parameter; in response to receiving the search request, formulating, by the system, a search query including the first search parameter received from the user; identifying a cache of the system that stores cached objects copied from objects that are created and stored within the system and that are associated with a predetermined group of system users; performing, by the system, a first search of the cache using the first search parameter to identify a first list of cached objects stored in the cache of the system that match the first search parameter; returning, by the system, a result of the first search including the first list of cached objects stored in the cache of the system that match the first search parameter; sending, by the system, the search query to a query server of the system for performing a second search within the system using the first search parameter to identify a second list of objects created and stored within the system that are associated with the predetermined group of system users and that match the first search parameter, each of the objects identified by the query server including: a last update field indicating a time when the object was last modified by a subscriber of an organization of the system,at least one last activity field indicating a time when an action was last performed utilizing the object,an owner field indicating an owner of the object within the organization, andan owner role field indicating a location of the owner of the object within a hierarchy of the organization; receiving a result of the second search including the second list of objects created and stored within the system that are associated with the predetermined group of system users and that match the first search parameter; combining, by the system, the first list of cached objects and the second list of objects to form a combined list of search results; and ordering the combined list of search results by: determining a corresponding normalized search relevancy score that is returned by a search engine for each of the objects from the first list and for each of the objects from the second list,assigning a corresponding last update score to each of the objects from the first list and to each of the objects from the second list based on a value of the last update field of each of the objects from the first list and of each of the objects from the second list,assigning a corresponding last activity score to each of the objects from the first list and to each of the objects from the second list based on a value of the last activity field of each of the objects from the first list and of each of the objects from the second list,for each of the objects from the first list and for each of the objects from the second list, multiplying each of the corresponding normalized search relevancy score, corresponding last update score, and corresponding last activity score by respective predetermined weight factors to determine a final relevancy score for each of the objects from the first list and for each of the objects from the second list, andordering the objects from the first list and the objects from the second list such that objects having a higher final relevancy score are ranked higher than objects having a lower final relevancy score.
地址 San Francisco CA US