Efficient Indexing Using Compact Decision Diagrams
First Claim
1. A method comprising:
- accessing an inverted index of a searchable set of objects comprising key words, the inverted index comprising a plurality of lists each corresponding to a particular key word and identifying a particular subset of the objects comprising the particular key word;
generating a binary decision diagram (BDD) for each of one or more of the lists, the BDD corresponding to the particular key word of the list, each decision node of the BDD representing an object in the searchable set of objects comprising the particular key word of the list; and
storing each of one or more of the lists as its BDD, storage of the BDD facilitating more efficient storage of the inverted index.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes accessing an inverted index of a searchable set of objects including key words. The inverted index includes multiple lists each corresponding to a particular key word and identifying a particular subset of the objects including the particular key word. The method includes generating a binary decision diagram (BDD) for each of one or more of the lists. The BDD corresponds to the particular key word of the list, and each decision node of the BDD represents an object in the searchable set of objects including the particular key word of the list. The method includes storing each of one or more of the lists as its BDD. Storage of the BDD facilitates more efficient storage of the inverted index.
29 Citations
26 Claims
-
1. A method comprising:
-
accessing an inverted index of a searchable set of objects comprising key words, the inverted index comprising a plurality of lists each corresponding to a particular key word and identifying a particular subset of the objects comprising the particular key word; generating a binary decision diagram (BDD) for each of one or more of the lists, the BDD corresponding to the particular key word of the list, each decision node of the BDD representing an object in the searchable set of objects comprising the particular key word of the list; and storing each of one or more of the lists as its BDD, storage of the BDD facilitating more efficient storage of the inverted index. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
accessing a binary decision diagram (BDD) representing a list of an inverted index of a searchable set of objects comprising key words, the list corresponding to a particular key word and identifying a particular subset of the objects comprising the particular key word, the BDD corresponding to the particular key word of the list, each decision node of the BDD representing an object in the searchable set of objects comprising the particular key word of the list; and determining elements of the list by; traversing the BDD depth first along one or more paths to terminal node 1 of the BDD following 0 edges of decision nodes of the BDD first; and assigning a set of values to an array of variables for the elements of the list according to each of the paths traversed. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. One or more computer-readable media encoding software operable when executed to:
-
access an inverted index of a searchable set of objects comprising key words, the inverted index comprising a plurality of lists each corresponding to a particular key word and identifying a particular subset of the objects comprising the particular key word; generate a binary decision diagram (BDD) for each of one or more of the lists, the BDD corresponding to the particular key word of the list, each decision node of the BDD representing an object in the searchable set of objects comprising the particular key word of the list; and store each of one or more of the lists as its BDD, storage of the BDD facilitating more efficient storage of the inverted index. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. One or more computer-readable media encoding software operable when executed to:
-
access a binary decision diagram (BDD) representing a list of an inverted index of a searchable set of objects comprising key words, the list corresponding to a particular key word and identifying a particular subset of the objects comprising the particular key word, the BDD corresponding to the particular key word of the list, each decision node of the BDD representing an object in the searchable set of objects comprising the particular key word of the list; and determine elements of the list by; traversing the BDD depth first along one or more paths to terminal node 1 of the BDD following 0 edges of decision nodes of the BDD first; and assigning a set of values to an array of variables for the elements of the list according to each of the paths traversed. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A system comprising:
-
means for accessing an inverted index of a searchable set of objects comprising key words, the inverted index comprising a plurality of lists each corresponding to a particular key word and identifying a particular subset of the objects comprising the particular key word; means for generating a binary decision diagram (BDD) for each of one or more of the lists, the BDD corresponding to the particular key word of the list, each decision node of the BDD representing an object in the searchable set of objects comprising the particular key word of the list; and means for storing each of one or more of the lists as its BDD, storage of the BDD facilitating more efficient storage of the inverted index.
-
-
26. A system comprising:
-
means for accessing a binary decision diagram (BDD) representing a list of an inverted index of a searchable set of objects comprising key words, the list corresponding to a particular key word and identifying a particular subset of the objects comprising the particular key word, the BDD corresponding to the particular key word of the list, each decision node of the BDD representing an object in the searchable set of objects comprising the particular key word of the list; and means for determining elements of the list by; traversing the BDD depth first along one or more paths to terminal node 1 of the BDD following 0 edges of decision nodes of the BDD first; and assigning a set of values to an array of variables for the elements of the list according to each of the paths traversed.
-
Specification