Faceted search with relationships between categories
First Claim
1. A method for faceted search comprising the steps of:
- providing computer instructions to run on a processor, wherein the instructions comprise distinct software modules including a category set component, a category set associating component and an indexing component, the processor operative under control of the instructions to perform the steps of;
invoking the category set component to define category sets in a category collection;
invoking the category set associating component to associate the category sets with respective documents of a document collection, wherein the category sets consist of all categories of the category collection to which the respective documents associated therewith belong;
invoking the indexing component a first time to establish a first inverted index comprising first inverted index entries for respective first categories of the category collection, wherein each of the first inverted index entries comprises a first posting list of the first documents of the document collection that belong to one of the respective first categories;
invoking the indexing component a second time to establish a second inverted index comprising a second inverted index entry for the category sets, the second inverted index entry comprising a second posting list of second documents of the document collection that belong to categories of the category sets;
responsively to a search query having terms and facets, searching the first inverted index entries to obtain a result set of documents complying with the search query, wherein a facet is a portion of elements of a list of categories;
iteratively, for respective categories in the category sets of the documents in the result set, searching the second inverted index entry to determine memberships of the respective categories in other category sets of the category collection;
identifying among the memberships a qualifying group of documents whose associated category sets include a category that matches one of the facets of the search query; and
retrieving at least a portion of the qualifying group of documents.
1 Assignment
0 Petitions
Accused Products
Abstract
Method, system, and computer program product for faceted search with relationships between categories are provided. The method includes: having a document set of multiple documents, each document having associated categories to which it belongs; grouping multiple categories associated with a document into a category set based on a relationship between the multiple categories; associating the category set with the document; and indexing the category set for retrieval of documents from categories sharing a category set. Wherein indexing the category set includes: having an index entry of a textual representations of a category, wherein the index entry includes a single occurrence for each document to which the category is attached; adding a payload to a document occurrence of a serialization of an identifier of the category sets to which the category belongs associated with the document. Indexing the category set further includes: adding an index entry for category set data, wherein the index entry includes a single occurrence for each document, wherein a document occurrence includes a payload of a serialization of an identifier of category sets associated with the document, and an identifier of the categories belonging to the category sets.
9 Citations
15 Claims
-
1. A method for faceted search comprising the steps of:
-
providing computer instructions to run on a processor, wherein the instructions comprise distinct software modules including a category set component, a category set associating component and an indexing component, the processor operative under control of the instructions to perform the steps of; invoking the category set component to define category sets in a category collection; invoking the category set associating component to associate the category sets with respective documents of a document collection, wherein the category sets consist of all categories of the category collection to which the respective documents associated therewith belong; invoking the indexing component a first time to establish a first inverted index comprising first inverted index entries for respective first categories of the category collection, wherein each of the first inverted index entries comprises a first posting list of the first documents of the document collection that belong to one of the respective first categories; invoking the indexing component a second time to establish a second inverted index comprising a second inverted index entry for the category sets, the second inverted index entry comprising a second posting list of second documents of the document collection that belong to categories of the category sets; responsively to a search query having terms and facets, searching the first inverted index entries to obtain a result set of documents complying with the search query, wherein a facet is a portion of elements of a list of categories; iteratively, for respective categories in the category sets of the documents in the result set, searching the second inverted index entry to determine memberships of the respective categories in other category sets of the category collection; identifying among the memberships a qualifying group of documents whose associated category sets include a category that matches one of the facets of the search query; and retrieving at least a portion of the qualifying group of documents. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer software product for faceted search, including a non-transitory computer-readable storage medium in which computer program instructions are stored, which instructions, when executed by a computer, cause the computer to perform the steps of:
-
defining category sets in a category collection; associating the category sets with respective documents of a document collection, wherein the category sets consist of all categories of the category collection to which the respective documents associated therewith belong; establishing a first inverted index comprising first inverted index entries for respective first categories of the category collection, wherein each of the first inverted index entries comprises a first posting list of the first documents of the document collection that belong to one of the respective first categories; establishing a second inverted index comprising a second inverted index entry for the category sets, the second inverted index entry comprising a second posting list of second documents of the document collection that belong to categories of the category sets; responsively to a search query having terms and facets, searching the first inverted index entries to obtain a result set of documents complying with the search query, wherein a facet is a portion of elements of a list of categories; iteratively, for respective categories in the category sets of the documents in the result set, searching the second inverted index entry to determine memberships of the respective categories in other category sets of the category collection; identifying among the memberships a qualifying group of documents whose associated category sets include a category that matches one of the facets of the search query; and retrieving at least a portion of the qualifying group of documents. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A data processing system for faceted search, comprising:
-
a processor; a memory accessible to the processor storing programs and data objects therein, the programs including a category set component, a category set associating component and an indexing component, wherein execution of the programs cause the processor to perform the steps of; invoking the category set component to define category sets in a category collection; invoking the category set associating component to associate the category sets with respective documents of a document collection, wherein the category sets consist of all categories of the category collection to which the respective documents associated therewith belong; invoking the indexing component a first time to establish a first inverted index comprising first inverted index entries for respective first categories of the category collection, wherein each of the first inverted index entries comprises a first posting list of the first documents of the document collection that belong to one of the respective first categories; invoking the indexing component a second time to establish a second inverted index comprising a second inverted index entry for the category sets, the second inverted index entry comprising a second posting list of second documents of the document collection that belong to categories of the category sets; responsively to a search query having terms and facets, searching the first inverted index entries to obtain a result set of documents complying with the search query, wherein a facet is a portion of elements of a list of categories; iteratively, for respective categories in the category sets of the documents in the result set, searching the second inverted index entry to determine memberships of the respective categories in other category sets of the category collection; identifying among the memberships a qualifying group of documents whose associated category sets include a category that matches one of the facets of the search query; and retrieving at least a portion of the qualifying group of documents. - View Dependent Claims (12, 13, 14, 15)
-
Specification