ResultSet objects are where the results of a query are stored. Each ResultSet object contains several arrays:

Documents are initially scored in a CollectionResultSet object. A CollectionResultSet object contains an array place for each document in the Collection. After the initial scoring of documents, DocumentScoreModifiers may alter the score of individual documents (eg boosting the score of a document, or removing documents that do not have all required terms. After applying each DocumentScoreModifier, the ResultSet is sorted.

Once the DSMs have finished, the resultset is handed back to the manager, and it is cropped to a QueryResultSet, which only contains documents with non-zero scores. Then, the manager applies the postprocesses and postfilters to modify the resultset. The contract here is that the postprocesses and postfilters MUST NOT alter the scores, but they can only specify if a given document is IN or OUT of the ResultSet. The ResultSet will NOT be re-sorted. After these are finished, a new ResultSet is created which is missing the filtered out documents.

See Also: [WWW] ResultSet Javadoc [WWW] CollectionResultSet Javadoc [WWW] QueryResultSet Javadoc


last edited 2005-02-10 18:24:13 by VassilisPlachouras