主权项 |
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. |