Use of data patterns for rapid search of complex rules in a rules-based search engine
First Claim
Patent Images
1. A method for facilitating retrieval of pricing rules stored in a database, the method comprising:
- receiving, at one or more computer systems, information identifying a plurality of pricing rules stored in a database, at least some pricing rules in the plurality of pricing rules are configured to provide base prices for items and at least some pricing rules in the plurality of pricing rules are configured to modify the base prices for the items, each pricing rule in the plurality of pricing rules having an attribute-value structure;
determining, with one or more processors associated with the one or more computer systems, an attribute group for each pricing rule in the plurality of pricing rules, the attribute group for a pricing rule incorporating a name of each of one or more attributes of the pricing rule;
generating, with the one or more processors associated with the one or more computer systems, a mapping between each attribute group generated for each pricing rule in the plurality of pricing rules and at least one unique identifier;
determining, with the one or more processors associated with the one or more computer systems, a data pattern for each pricing rule in the plurality of pricing rules, a data pattern of a pricing rule incorporating one or more values of one or more attributes of the pricing rule;
generating, with the one or more processors associated with the one or more computer systems, a mapping between each data pattern generated for each pricing rule in the plurality of pricing rules and the unique identifier of at least one attribute group;
receiving, at the one or more computer systems, a request for pricing information associated with an item;
determining, with the one or more processors associated with the one or more computer systems, an attribute group for the request based on one or more attributes in the request for pricing information associated with the item, the attribute group for the request incorporating a name of each of one or more attributes in the request;
determining, with the one or more processors associated with the one or more computer systems, a match between at least one attribute group determined for the plurality of pricing rules and the attribute group associated with the request;
identifying, with the one or more processors associated with the one or more computer systems, a subset of the data patterns determined for the plurality of pricing rules that are associated with the unique identifier mapped to the matched at least one attribute group;
determining, with the one or more processors associated with the one or more computer systems, a data pattern for the request based on one or more values of the one or more attributes in the request for pricing information associated with the item;
identifying, with the one or more processors associated with the one or more computer systems, at least one pricing rule associated with at least one of the subset of data patterns based on a match between the determined data pattern associated with the request and at least one of the subset of data patterns; and
generating, with the one or more processors associated with the one or more computer systems, information configured for retrieving the at least one identified pricing rule from the database.
1 Assignment
0 Petitions
Accused Products
Abstract
In various embodiments, systems and methods are provided that can facilitate searching for entities, such as rules, that apply to search criteria. The disclosed systems and methods can reduce some of the performance bottlenecks associated with, for example, rules-based search systems by using metadata. The metadata may be generated to reduce the size of information about a set of entities that is required to be searched. In some embodiments, the metadata may represent one or more tuple elements, such as keys and values of keys in key-value pairs.
-
Citations
20 Claims
-
1. A method for facilitating retrieval of pricing rules stored in a database, the method comprising:
-
receiving, at one or more computer systems, information identifying a plurality of pricing rules stored in a database, at least some pricing rules in the plurality of pricing rules are configured to provide base prices for items and at least some pricing rules in the plurality of pricing rules are configured to modify the base prices for the items, each pricing rule in the plurality of pricing rules having an attribute-value structure; determining, with one or more processors associated with the one or more computer systems, an attribute group for each pricing rule in the plurality of pricing rules, the attribute group for a pricing rule incorporating a name of each of one or more attributes of the pricing rule; generating, with the one or more processors associated with the one or more computer systems, a mapping between each attribute group generated for each pricing rule in the plurality of pricing rules and at least one unique identifier; determining, with the one or more processors associated with the one or more computer systems, a data pattern for each pricing rule in the plurality of pricing rules, a data pattern of a pricing rule incorporating one or more values of one or more attributes of the pricing rule; generating, with the one or more processors associated with the one or more computer systems, a mapping between each data pattern generated for each pricing rule in the plurality of pricing rules and the unique identifier of at least one attribute group; receiving, at the one or more computer systems, a request for pricing information associated with an item; determining, with the one or more processors associated with the one or more computer systems, an attribute group for the request based on one or more attributes in the request for pricing information associated with the item, the attribute group for the request incorporating a name of each of one or more attributes in the request; determining, with the one or more processors associated with the one or more computer systems, a match between at least one attribute group determined for the plurality of pricing rules and the attribute group associated with the request; identifying, with the one or more processors associated with the one or more computer systems, a subset of the data patterns determined for the plurality of pricing rules that are associated with the unique identifier mapped to the matched at least one attribute group; determining, with the one or more processors associated with the one or more computer systems, a data pattern for the request based on one or more values of the one or more attributes in the request for pricing information associated with the item; identifying, with the one or more processors associated with the one or more computer systems, at least one pricing rule associated with at least one of the subset of data patterns based on a match between the determined data pattern associated with the request and at least one of the subset of data patterns; and generating, with the one or more processors associated with the one or more computer systems, information configured for retrieving the at least one identified pricing rule from the database. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable medium storing computer-executable code for facilitating retrieval of pricing rules stored in a database, the non-transitory computer-readable medium comprising:
-
code for receiving information identifying a plurality of pricing rules stored in a database, at least some pricing rules in the plurality of pricing rules are configured to provide base prices for items and at least some pricing rules in the plurality of pricing rules are configured to modify the base prices for the items, each pricing rule in the plurality of pricing rules having an attribute-value structure; code for determining an attribute group for each pricing rule in the plurality of pricing rules, the attribute group for a pricing rule incorporating a name of each of one or more attributes of the pricing rule; code for generating a mapping between each attribute group generated for each pricing rule in the plurality of pricing rules and at least one unique identifier; code for determining a data pattern for each pricing rule in the plurality of pricing rules, a data pattern of a pricing rule incorporating one or more values of one or more attributes of the pricing rule; code for generating a mapping between each data pattern generated for each pricing rule in the plurality of pricing rules and the unique identifier of at least one attribute group; code for receiving a request for pricing information associated with an item; code for determining an attribute group for the request based on one or more attributes in the request for pricing information associated with the item, the attribute group for the request incorporating a name of each of one or more attributes in the request; code for determining a match between at least one attribute group determined for the plurality of pricing rules and the attribute group associated with the request; code for identifying a subset of the data patterns determined for the plurality of pricing rules that are associated with the unique identifier mapped to the matched at least one attribute group; code for determining a data pattern for the request based on one or more values of the one or more attributes in the request for pricing information associated with the item; code for identifying at least one pricing rule associated with at least one of the subset of data patterns based on a match between the determined data pattern associated with the request and at least one of the subset of data patterns; and code for generating information configured for retrieving the at least one identified pricing rule from the database. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for facilitating retrieval of entities stored in a database, the method comprising:
-
receiving, at one or more computer systems, a request identifying one or more attributes of objects sought to be retrieved from the database, each of the one or more attributes identified in the request having associated data; determining, with one or more processors associated with the one or more computer systems, a first pattern corresponding to the request, the first pattern listing a name of one or more attributes identified in the request; determining, with the one or more processors associated with the one or more computer systems, a second pattern corresponding to the request, the second pattern listing associated data of each of the one or more attributes identified in the request; identifying, with the one or more processors associated with the one or more computer systems, a set of objects in the database based on the first pattern and the second pattern; wherein a comparison is made first between the first pattern corresponding to the request and first patterns generated for the objects in the database from a name of each of one or more attributes of the objects to determine a unique identifier of at least one attribute group; wherein a subset of second patterns generated for the objects in the database from one or more values of the one or more attributes of the objects are identified based on the unique identifier; wherein a comparison is made second between the second pattern corresponding to the request and the subset of second patterns to determine at least one object in the database; and generating, with the one or more processors associated with the one or more computer systems, information configured to retrieve the one or more identified objects from the database. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification