Terrier IR Platform
1.1.1

uk.ac.gla.terrier.matching
Class CollectionResultSet

java.lang.Object
  extended by uk.ac.gla.terrier.matching.CollectionResultSet
All Implemented Interfaces:
java.io.Serializable, ResultSet
Direct Known Subclasses:
QueryResultSet

public class CollectionResultSet
extends java.lang.Object
implements ResultSet, java.io.Serializable

This class implements the interface ResultSet and models the set of all documents in the collection. It encapsulates two arrays, one for the docids and one for the scores. It has also the occurrences matrix which counts how many query terms appear in each of the retrieved documents. The metadata related methods are empty.
This class is only used internally by the Matching class and the classes that extent it, because the arrays for the docids and scores contain one entry for each document in the collection. Therefore, the instantiation of an object of this class can be expensive. Access to the retrieved documents is enabled by using the method GetResultSet that returns a cropped result set.

Version:
$Revision: 1.25 $
Author:
Vassilis plachouras
See Also:
Serialized Form

Constructor Summary
CollectionResultSet()
          Deprecated. This constructor must not be used anymore. Use constructors specifying the number of documents in the collection.
CollectionResultSet(int numberOfDocuments)
          A default constructor for the result set with a given number of documents.
CollectionResultSet(ResultSet resultSet)
          A default constructor for the result set with a given instance of the result set.
 
Method Summary
 void addMetaItem(java.lang.String name, int docid, java.lang.String value)
          Empty method.
 void addMetaItems(java.lang.String name, java.lang.String[] values)
          Empty method.
 int[] getDocids()
          Returns the documents ids after retrieval
 int getExactResultSize()
          Returns the exact size of the result set.
 java.util.concurrent.locks.Lock getLock()
          Returns the lock for enabling the modification of the result set by more than one threads.
 java.lang.String getMetaItem(java.lang.String name, int docid)
          Empty method.
 java.lang.String[] getMetaItems(java.lang.String name)
          Empty method.
 short[] getOccurrences()
          Returns the occurrences array.
 ResultSet getResultSet(int[] positions)
          Extracts a subset of the resultset given by the list parameter, which contains a list of positions in the resultset that should be saved.
 ResultSet getResultSet(int start, int length)
          Crops the existing result file and extracts a subset from the given starting point to the ending point.
 int getResultSize()
          Returns the effective size of the result set.
 double[] getScores()
          Returns the documents scores after retrieval
 int getStatusCode()
          Returns the status code for the current result set.
 void initialise()
          Initialises the arrays prior of retrieval.
 void initialise(double[] scs)
          Initialises the result set with the given scores.
 void setExactResultSize(int newExactResultSize)
          Sets the exact size of the result set, that is the number of documents that would be retrieved, if the result set was not truncated.
 void setResultSize(int newResultSize)
          Sets the effective size of the result set, that is the number of documents to be sorted after retrieval.
 void setStatusCode(int _statusCode)
          Sets the status code for the current result set.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CollectionResultSet

public CollectionResultSet()
Deprecated. This constructor must not be used anymore. Use constructors specifying the number of documents in the collection.

A default constructor for the result set


CollectionResultSet

public CollectionResultSet(int numberOfDocuments)
A default constructor for the result set with a given number of documents.

Parameters:
numberOfDocuments - the number of documents contained in the result set.

CollectionResultSet

public CollectionResultSet(ResultSet resultSet)
A default constructor for the result set with a given instance of the result set. The constructor creates a clone of the given result set.

Parameters:
resultSet - The given result set.
Method Detail

getLock

public java.util.concurrent.locks.Lock getLock()
Returns the lock for enabling the modification of the result set by more than one threads.

Specified by:
getLock in interface ResultSet
Returns:
the lock.

getStatusCode

public int getStatusCode()
Returns the status code for the current result set.

Specified by:
getStatusCode in interface ResultSet
Returns:
a integer status code. 0 stands success. 1 stands for empty result set. 2 stands for wrong setting of start/end parameters. 3 stands for query timeout. The values assigned to the status codes are increasing accordingly to the severity of the status.

setStatusCode

public void setStatusCode(int _statusCode)
Sets the status code for the current result set.

Specified by:
setStatusCode in interface ResultSet

getDocids

public int[] getDocids()
Returns the documents ids after retrieval

Specified by:
getDocids in interface ResultSet

getResultSize

public int getResultSize()
Returns the effective size of the result set.

Specified by:
getResultSize in interface ResultSet
Returns:
int the effective size of the result set

getOccurrences

public short[] getOccurrences()
Returns the occurrences array.

Specified by:
getOccurrences in interface ResultSet
Returns:
int[] the array the occurrences array.

getExactResultSize

public int getExactResultSize()
Returns the exact size of the result set.

Specified by:
getExactResultSize in interface ResultSet
Returns:
int the exact size of the result set

getScores

public double[] getScores()
Returns the documents scores after retrieval

Specified by:
getScores in interface ResultSet

initialise

public void initialise()
Initialises the arrays prior of retrieval.

Specified by:
initialise in interface ResultSet

initialise

public void initialise(double[] scs)
Initialises the result set with the given scores. If the length of the given array is different than the length of the internal arrays, then we re-allocate memory and create the arrays.

Specified by:
initialise in interface ResultSet
Parameters:
scs - double[] the scores to initiliase the result set with.

setResultSize

public void setResultSize(int newResultSize)
Sets the effective size of the result set, that is the number of documents to be sorted after retrieval.

Specified by:
setResultSize in interface ResultSet
Parameters:
newResultSize - int the effective size of the result set.

setExactResultSize

public void setExactResultSize(int newExactResultSize)
Sets the exact size of the result set, that is the number of documents that would be retrieved, if the result set was not truncated.

Specified by:
setExactResultSize in interface ResultSet
Parameters:
newExactResultSize - int the effective size of the result set.

addMetaItem

public void addMetaItem(java.lang.String name,
                        int docid,
                        java.lang.String value)
Empty method.

Specified by:
addMetaItem in interface ResultSet
Parameters:
name - the name of the metadata type. For example, it can be the url for adding the URLs of documents.
docid - the document identifier of the document.
value - the metadata value.

addMetaItems

public void addMetaItems(java.lang.String name,
                         java.lang.String[] values)
Empty method.

Specified by:
addMetaItems in interface ResultSet
Parameters:
name - the name of the metadata type. For example, it can be the url for adding the URLs of documents.
values - the metadata values.

getMetaItem

public java.lang.String getMetaItem(java.lang.String name,
                                    int docid)
Empty method.

Specified by:
getMetaItem in interface ResultSet
Parameters:
name - the name of the metadata type.
docid - the document identifier of the document.
Returns:
a string with the metadata information, or null of the metadata is not available.

getMetaItems

public java.lang.String[] getMetaItems(java.lang.String name)
Empty method.

Specified by:
getMetaItems in interface ResultSet
Parameters:
name - the name of the metadata type.
Returns:
an array of strings with the metadata information, or null of the metadata is not available.

getResultSet

public ResultSet getResultSet(int start,
                              int length)
Crops the existing result file and extracts a subset from the given starting point to the ending point.

Specified by:
getResultSet in interface ResultSet
Parameters:
start - the beginning of the subset.
length - the end of the subset.
Returns:
ResultSet a subset of the current result set.

getResultSet

public ResultSet getResultSet(int[] positions)
Extracts a subset of the resultset given by the list parameter, which contains a list of positions in the resultset that should be saved.
NB:The metadata hashtable is NOT reduced.

Specified by:
getResultSet in interface ResultSet
Parameters:
positions - int[] the list of elements in the current list that should be kept.
Returns:
a subset of the current result set specified by the list.

Terrier IR Platform
1.1.1

Terrier Information Retrieval Platform 1.1.1. Copyright 2004-2007 University of Glasgow