Method and system for generating accurate search results using a content-index
First Claim
1. A method in a computer system for generating a search result that identifies objects that satisfy a search criteria, the computer system having a collection of objects and a plurality of terms, each object containing one or more of the terms, the method comprising the computer-implemented steps of:
- creating a content-index that contains, for each of the plurality of terms, a reference to each object that contains the term;
after creating the content-index, updating the collection of objects by adding new objects to the collection, by removing objects from the collection, or by modifying the terms contained by an object, the updating being performed without updating the content-index to reflect the updates to the collection of objects;
searching the content-index to identify objects that satisfied the search criteria before the collection of objects was updated, and storing an indication of each identified object as the search result; and
updating the search result to reflect the updated collection of objects by,adding an indication of each object that was added to the collection of objects and that satisfies the search criteria;
removing the indication of each object that was removed from the collection of objects;
adding an indication of each object that was modified and that now satisfies the search criteria; and
removing the indication to each object that was modified and that no longer satisfies the search criteria.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for generating accurate search results using a content-index is provided. In a preferred embodiment, a content-index search system is invoked in response to a query on a collection of objects. The collection of objects is indexed by the content-index and may, for example, be a corpus of documents indexed by the terms contained in the documents. The content-index search system uses the content-index to generate and store an initial search result in response to the query. Because the content-index is typically out of date with respect to a dynamically changing collection of objects, the content-index search system invokes search result correction routines to remove from the stored search result references that were incorrectly included and to add to the stored search result references that were incorrectly excluded. References that were incorrectly included include those that refer to objects that no longer exist and those that refer to objects that have been modified since the content-index was last updated and that no longer match the search criteria. References that were incorrectly excluded include those that refer to new objects that were not indexed and match the search criteria and those that refer to objects that have been modified since the content-index was last updated and that now match the search criteria.
317 Citations
60 Claims
-
1. A method in a computer system for generating a search result that identifies objects that satisfy a search criteria, the computer system having a collection of objects and a plurality of terms, each object containing one or more of the terms, the method comprising the computer-implemented steps of:
-
creating a content-index that contains, for each of the plurality of terms, a reference to each object that contains the term; after creating the content-index, updating the collection of objects by adding new objects to the collection, by removing objects from the collection, or by modifying the terms contained by an object, the updating being performed without updating the content-index to reflect the updates to the collection of objects; searching the content-index to identify objects that satisfied the search criteria before the collection of objects was updated, and storing an indication of each identified object as the search result; and updating the search result to reflect the updated collection of objects by, adding an indication of each object that was added to the collection of objects and that satisfies the search criteria; removing the indication of each object that was removed from the collection of objects; adding an indication of each object that was modified and that now satisfies the search criteria; and removing the indication to each object that was modified and that no longer satisfies the search criteria. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method in a computer system for correcting a search result obtained by searching a content-index to identify objects that match a search criteria, the objects contained in a collection of objects, the content-index containing, for each of a plurality of terms, a reference to an object in the collection that contains the term, the method comprising the computer-implemented steps of:
-
determining a current state of the collection of objects; and when it is determined that the search result obtained by searching the content-index is out of date relative to the current state of the collection of objects, correcting the search result to reflect updates to the collection of objects since the content-index was last updated without first updating the content-index. - View Dependent Claims (8, 9, 10)
-
-
11. A method in a computer system for updating a search result obtained by searching a content-index to identify objects that match a search criteria, the objects contained in a collection of objects, the content-index partially indexing the collection of objects and containing, for each of a plurality of terms, a reference to an object in the collection that contains the term, the method comprising the computer-implemented steps of:
-
displaying the search result obtained by searching the content-index; after displaying the search result obtained by searching the content-index, determining the objects in the collection that are not indexed by the content-index and that match the search criteria; updating the search result to include indications of the determined objects; and displaying the updated search result.
-
-
12. A method in a computer system for correcting a search result obtained by searching a content-index to identify objects that match a search criteria, the objects contained in a collection of objects, the content-index containing, for each of a plurality of terms, a reference to an object in the collection that contains the term, the method comprising the computer-implemented steps of:
-
updating the collection of objects, after the content-index was last updated causing the search result to be out of date; removing, from the out of date search result, indications of objects that, as a result of updating of the collection, no longer match the search criteria; and adding, to the out of date search result, indications of objects that, as a result of updating of the collection, now match the search criteria. - View Dependent Claims (13, 14, 15, 16, 17, 20)
-
-
18. A method in a computer system for correcting a search result that identifies objects that match a search criteria, the objects contained in a collection of objects, the search result generated from a content-index, the content-index containing, for each of a plurality of terms, a reference to an object in the collection that contains the term, wherein the collection is only partially indexed by the content-index, the method comprising the computer-implemented steps of:
-
updating the collection of objects causing the search result to be out of date; removing, from the search result, indications of objects that, as a result of updating of the collection, no longer match the search criteria; and adding, to the search result, indications of objects that, as a result of updating of the collection, now match the search criteria, wherein the search result also indicates objects that are in the collection, match the search criteria, but are not indexed by the content-index. - View Dependent Claims (19)
-
-
21. A method in a computer system for correcting a search result obtained by searching a content-index to identify objects that satisfy a search criteria, the objects contained in a collection of objects, the content-index containing, for each of a plurality of terms, a reference to an object in the collection that contains the term, the method comprising the computer-implemented steps of:
-
updating the collection of objects, after the content-index was last updated, causing the search result to be out of date; removing, from the out of date search result, indications of objects that, as a result of updating the collection, no longer exist in the collection of objects; and removing, from the out of date search result, indications of objects that, as a result of updating the collection, no longer satisfy the search criteria. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method in a computer system for correcting a stored search result obtained by searching a content-index to identify objects that satisfy a search criteria, the objects contained in a collection of objects, the content-index containing, for each of a plurality of terms, a reference to an object in the collection that contains the term, the method comprising the computer-implemented steps of:
-
updating the collection of objects, after the content-index was last updated, causing the search result to be out of date; adding, to the out of date search result, indications of objects that are new to the collection as a result of updating the collection and satisfy the search criteria; and adding, to the out of date search result, indications of objects that have been modified as a result of updating the collection and now satisfy the search criteria. - View Dependent Claims (31, 32, 33, 34, 35, 36)
-
-
37. A method in a computer system for updating a search result that identifies objects that satisfy a search criteria, the objects contained in a collection of objects, the search criteria having a content-index search portion used with a content-index to determine a set of objects of the collection that satisfy the content-index search portion, the search criteria having a direct search portion, the direct search portion further restricting the set of objects that satisfy the content-index search portion in order to satisfy the search criteria, the method comprising the computer-implemented steps of:
-
generating a proposed list of references to objects that satisfy the content-index portion of the search criteria by searching the content-index; examining each object in the proposed list of references to determine whether the object also satisfies the direct search portion; storing in the search result an indication of each examined object that satisfies the direct search portion in the search result; modifying the collection of objects causing the search result to be out of date; and updating the search result by adding, to the search result, indications of objects that, as a result of modifying the collection, match the search criteria. - View Dependent Claims (38, 39)
-
-
40. A method in a computer system for correcting a search result, the computer system containing a corpus of documents, the method comprising the computer-implemented steps of:
-
generating the search result by searching a content-index for a set of documents of the corpus that match a search criteria and by storing in the search result an indication of each document that matches the search criteria, the content-index containing for each of a plurality of terms, a reference to a document associated with the term; removing, from the generated search result, indications of documents that no longer exist in the corpus; removing, from the generated search result, indications of documents that no longer match the search criteria; adding, to the generated search result, indications of documents that are new to the corpus since the content-index was last updated and match the search criteria; and adding, to the search result, indications of each document that has been modified since the document was last indexed by the content-index and now matches the search criteria, wherein the steps of removing from and adding to the generated search result are performed without first updating the content-index. - View Dependent Claims (44)
-
-
41. A method in a computer system for correcting a search result, the computer system containing a corpus of documents, the method comprising the computer-implemented steps of:
-
generating the search result by searching a content-index for a set of documents of the corpus that match a search criteria and by storing in the search result an indication of each document that matches the search criteria, the content-index containing for each of a plurality of terms, a reference to a document associated with the term, wherein the corpus is only partially indexed by the content-index such that the generated search result stores indications to documents that are in the corpus, match the search criteria, but are not indexed by the content-index; removing, from the search result, indications of documents that no longer exist in the corpus; removing, from the search result, indications of documents that no longer match the search criteria; adding, to the search result, indications of documents that are new to the corpus since the content-index was last updated and match the search criteria; and adding, to the search result, indications of each document that has been modified since the document was last indexed by the content-index and now matches the search criteria. - View Dependent Claims (42, 43)
-
-
45. A computer system for adding false negative results to a search result store, the search result store having references to objects from a collection of objects that match a search criteria, comprising:
-
an search result adder that, in response to receiving a additions list of references to objects, adds each reference in the additions list to the result store; an object direct search engine that, in response to receiving a search list of references to objects to be searched, searches each object referred to by the search list to determine whether the object matches the search criteria and passes a list of references to the searched objects that match the search criteria to the search result adder as the additions list; an object reference subtractor that, in response to receiving a first list of references to objects and a second list of references to objects, compares each list, generates a revised potential additions list that includes references to objects that are referred to in the first list but not in the second list, and passes the revised potential additions list to the object direct search engine; an object list comparator that, in response to receiving a third list of references to objects and a fourth list of references to objects, compares the third list with the fourth list and generates a potential additions list that includes references to objects that are referred to in the third list but that are not referred to in the fourth list and that includes references to objects that are referred to in both the third and fourth lists but have been modified since a timestamp associated with the reference to the object in the fourth list, and passes the generated potential additions list to the object reference subtractor as the first list; a search result list sorter that, in response to receiving a list of references to objects referred to by the search result store, generates a sorted list of references to objects referred to by the search result store, and passes the sorted list of references to objects referred to by the search result store to the object reference subtractor as the second list; a collection object list sorter that, in response to receiving a list of references to the objects in the collection, generates a sorted list of references to objects in the collection and passes the sorted list of references to objects in the collection to the object list comparator as the third list; a content-index object list sorter that, in response to receiving a list of references to objects indexed by the content-index, generates a sorted list of references to indexed objects and passes the sorted list of references to indexed objects to the object list comparator as the fourth list; and an invocation mechanism that sends the list of references referred to by the search result store to the search result list sorter, sends the list of references to the objects in the collection to the collection object list sort, and sends the list of references to objects indexed by the content-index to the content-index object list sorter. - View Dependent Claims (46)
-
-
47. A computer system for removing false positive results from a search result store, the search result store having references to objects from a collection of objects that match a search criteria, comprising:
-
an search result subtractor that, in response to receiving a subtractions list of references to objects, removes each reference in the subtractions list from the result store; an object direct search engine that, in response to receiving a search list of references to objects to be searched, searches each object referred to by the search list to determine whether the object matches the search criteria and passes a list of references to the searched objects that do not match the search criteria to the search result remover as the subtractions list; an object list comparator that, in response to receiving a first list of references to objects and a second list of references to objects, compares each list, generates a revised potential subtractions list that includes references to objects are referred to by both the first and second lists and have been modified since a timestamp associated with the reference to the object in the second list, and passes the potential subtractions list to the object direct search engine as the search list; an object list existence determiner that, in response to receiving a third list of references to objects and a fourth list of references to objects, compares the third list and the fourth list, generates an existing objects list that includes references to objects that are referred to in both the third list and in the fourth list, generates a non-existing objects list that includes references to objects that are referred to in the third list but not in the fourth list, passes the generated existing objects list to the object list comparator as the first list, and passes the generated non-existing objects list to the search result remover as the subtractions list; a search result list sorter that, in response to receiving a list of references to objects referred to by the search result store, generates a sorted list of references to objects referred to by the search result store, and passes the sorted list of references to objects referred to by the search result store to the object list existence determiner as the third list; a collection object list sorter that, in response to receiving a list of references to the objects in the collection, generates a sorted list of references to objects in the collection and passes the sorted list of references to objects in the collection to the object list existence determiner as the fourth list; a content-index object list sorter that, in response to receiving a list of references to objects indexed by the content-index, generates a sorted list of references to indexed objects and passes the sorted list of references to indexed objects to the object list comparator as the second list; and an invocation mechanism that sends the list of references referred to by the search result store to the search result list sorter, sends the list of references referred to by the search result store and to the search result remover, sends the list of references to the objects in the collection to the collection object list sorter, and sends the list of references to objects indexed by the content-index to the content-index object list sorter. - View Dependent Claims (48)
-
-
49. A computer system for removing false positive results from a search result store and for adding false negative results to the search result store, the search result store generated by searching a content-index for objects from a collection of objects that match a search criteria, the search result store having references to the matching objects, comprising:
-
means for removing, from the search result store, references to objects that no longer exist in the collection; means for removing, from the search result store, references to objects that no longer match the search criteria; means for adding, to the search result store, references to objects that are new to the collection and match the search criteria; and means for adding, to the search result store, references to each object that has been modified since the object was indexed and that matches the search criteria, the means for removing and the means for adding operating without first updating the content-index.
-
-
50. A computer-readable memory medium containing instructions for controlling a computer processor in a computer system to correct a search result obtained by searching a content-index to identify objects that match a search criteria, the objects contained in a collection of objects, the content-index containing, for each of a plurality of terms, a reference to an object in the collection that contains the term, by performing the steps of:
-
determining a current state of the collection of objects; and when it is determined that the search result obtained by searching the content-index is out of date relative to the current state of the collection of objects, correcting the search result to reflect updates to the collection of objects since the content-index was last updated, without first updating the content-index. - View Dependent Claims (51, 52, 53)
-
-
54. A method in a computer system for correcting a search result that identifies objects that satisfy a search criteria, the objects contained in a collection of objects, the search result generated using a content-index, the content-index containing, for each of a plurality of terms, a reference to an object in the collection that contains the term, the content-index having a timestamp for each object referred to by the content-index, each timestamp indicating a time when the corresponding object was last modified, the method comprising the computer-implemented steps of:
-
updating the collection of objects causing the search result to be out of date; removing, from the search result, indications of objects that, as a result of updating the collection, no longer exist in the collection of objects; and removing, from the search result, indications of objects that, as a result of updating the collection, no longer satisfy the search criteria by; examining each object, that is indicated by the search result and has been modified since the time indicated by the timestamp for the object, to determine whether the object still satisfies the search criteria; and when it is determined that an examined object no longer satisfies the search criteria, removing the indication to the object from the search result.
-
-
55. A method in a computer system for correcting a search result that identifies objects that satisfy a search criteria, the objects contained in a collection of objects, the search result generated using a content-index, the content-index containing, for each of a plurality of terms, a reference to an object in the collection that contains the term, the content-index having a timestamp for each object referred to by the content-index, each timestamp indicating a time when the corresponding object was last modified, the method comprising the steps of:
-
updating the collection of objects causing the search result to be out of date; removing, from the search result, indications of objects that, as a result of updating the collection, no longer exist in the collection of objects; removing, from the search result, indications of objects that, as a result of updating the collection, no longer satisfy the search criteria; examining each object, that is referred to by the content-index and has been modified since the time indicated by the timestamp for the object, to determine whether the object satisfies the search criteria; and when it is determined that an examined object satisfies the search criteria, adding to the search result an indication of the object.
-
-
56. A method in a computer system for correcting a search result that identifies objects that satisfy a search criteria, the objects contained in a collection of objects, the search result generated using a content-index, the content-index containing, for each of a plurality of terms, a reference to an object in the collection that contains the term, the collection of objects only partially indexed by the content-index, the search result including indications of objects that are in the collection of objects but not indexed by the content-index, the method comprising the steps of:
-
updating the collection of objects causing the search result to be out of date; for each indication of each object in the search result, first determining whether the object indicated by the indication is not indexed by the content-index; and when the object is not indexed by the content-index, skipping the indication so that the indication remains in the search result; removing, from the search result, indications of objects that, as a result of updating the collection, no longer exist in the collection of objects; and removing, from the search result, indications of objects that, as a result of updating the collection, no longer satisfy the search criteria. - View Dependent Claims (57)
-
-
58. A method in a computer system for correcting a search result that identifies objects that satisfy a search criteria, the objects contained in a collection of objects that is indexed by a plurality of content indices, the content indices only partially indexing the objects in the collection, each contents-index containing, for each of a plurality of terms, a reference to an object in the collection that contains the term, the search result generated using a content-index and including indications of objects that satisfy the search criteria and are in the collection of objects but not indexed by the plurality of content indices, the method comprising the steps of:
-
updating the collection of objects causing the search result to be out of date; for each indication in the search result, for each content-index, first determining whether the indication indicates an object that is indexed by the content-index; and when the indication indicates an object not indexed by any of the plurality of content indices, skipping the indication so that the indication remains in the search result; removing, from the search result, indications of objects that, as a result of updating the collection, no longer exist in the collection of objects; and removing, from the search result, indications of objects that, as a result of updating the collection, no longer satisfy the search criteria.
-
-
59. A method in a computer system for correcting a stored search result that identifies objects that satisfy a search criteria, the search result generated using a content-index, the objects contained in a collection of objects that are only partially indexed by the content-index, the collection having an indexing rule to determine whether an object in the collection is indexed by the content-index, the content-index containing, for each of a plurality of terms, a reference to an object in the collection that contains the term, the search result including indications of objects that satisfy the search criteria, are in the collection, but not indexed by the content-index, the method comprising the computer-implemented steps of:
-
updating the collection of objects causing the search result to be out of date; adding, to the search result, indications of objects that are new to the collection as a result of updating the collection and satisfy the search criteria by; for each object that is new to the collection as a result of updating, determining whether the object is referred to by the search result; when the object is not referred to by the search result, determining whether the indexing rule indicates that the object is to be indexed by the content-index; and when the indexing rule indicates that the object is to be indexed by the content-index, examining the object to determine whether the object satisfies the search criteria; and adding, to the search result, indications of objects that have been modified as a result of updating the collection and now satisfy the search criteria.
-
-
60. A method in a computer system for correcting a stored search result that identifies objects that satisfy a search criteria, the search result generated using a content-index, the objects contained in a collection of objects that is indexed by a plurality of content indices, the collection having an indexing rule for each content-index to determine whether an object in the collection is indexed by the content-index, each content-index containing, for each of a plurality of terms, a reference to an object in the collection that contains the term, the search result including indications of objects that satisfy the search criteria, are in the collection, but not indexed by the content-indices, the method comprising the computer-implemented steps of:
-
updating the collection of objects causing the search result to be out of date; adding, to the search result, indications of objects that are new to the collection as a result of updating the collection and satisfy the search criteria by; for each object that is new to the collection, determining whether the object is referred to by the search result; when the object is not referred to by the search result, determining, for each content-index, whether the indexing rule of the content-index indicates that the object is to be indexed by the content-index; and when the indexing rule for one of the content indices indicates that the object is to be indexed, examining the object to determine whether the object satisfies the search criteria; and adding, to the search result, indications of objects that have been modified as a result of updating the collection and now satisfy the search criteria.
-
Specification