×

Methods and systems for optimizing text searches over structured data in a multi-tenant environment

  • US 9,037,561 B2
  • Filed: 11/08/2011
  • Issued: 05/19/2015
  • Est. Priority Date: 12/02/2005
  • Status: Active Grant
First Claim
Patent Images

1. A computer program product, comprising a non-transitory memory medium having a computer readable program code embodied therein, the computer readable program code causing a computer to implement a method, the method comprising:

  • providing a system accessible to a plurality of subscribers, where the system provides hosted third-party applications and content for a plurality of logically separate organizations, and where each subscriber is associated with at least one of the plurality of organizations;

    providing, in the system, a set of logically separated storage areas, where each logically separated storage area is associated with a corresponding organization from the plurality of organizations and is inaccessible to organizations other than the corresponding organization;

    storing, in the system, information describing the plurality of subscribers associated with each of the organizations;

    receiving a first search request that includes a first search term from a subscriber of a organization of the plurality of organizations;

    formulating, by the system, a search query that includes the first search term and information describing the subscriber;

    performing, by the system, the search query within the logically separated storage area of the organization using the first search term and the information describing the subscriber, including performing the search query within a unique search index of the organization, the search index containing a plurality of data records, each of the plurality of data records within the search index including;

    a last update field indicating a time when the record was last modified by any subscriber of the organization of the system;

    at least one last activity field indicating a time when an action was last performed utilizing the record;

    a record owner field indicating an owner of the record within the organization, anda record owner role field indicating a location of the owner of the record within a hierarchy of the organization; and

    returning, by the system, a plurality of first data records within the unique search index that match the first search term and the information describing the subscriber, where the plurality of first data records are ordered based at least in part on one or more subscriber interactions with the plurality of first data records, the one or more interactions including actions by one or more additional subscribers of the organization of the system, and where the plurality of first data records are ordered by;

    determining a normalized search relevancy score that is returned by a search engine for each of the plurality of first data records,assigning a last update score to each of the plurality of first data records based on a value of the last update field of each of the plurality of first data records,assigning a last activity score to each of the plurality of first data records based on a value of the last activity field of each of the plurality of first data records,multiplying each of the normalized search relevancy score, the last update score, and the at least one last activity score for each of the plurality of first data records by a unique predetermined weight factor to determine a final relevancy score for each of the plurality of first data records, andordering the plurality of first data records such that data records of the plurality of first data records having a higher final relevancy score are ranked higher than data records of the plurality of first data records having a lower final relevancy score.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×