org.terrier.matching.daat
Class CandidateResultSet

java.lang.Object
  extended by org.terrier.matching.daat.CandidateResultSet
All Implemented Interfaces:
java.io.Serializable, ResultSet

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

ResultSet which is created from a set of CandidateResults. Used by DAAT matching strategies.

Since:
3.5
Author:
Nicola Tonellotto
See Also:
CandidateResult, Serialized Form

Field Summary
protected  int[] docids
           
protected  int exactResultSize
           
protected  java.util.concurrent.locks.Lock lock
           
protected  short[] occurrences
           
protected  int resultSize
           
protected  double[] scores
           
protected  int statusCode
           
 
Constructor Summary
CandidateResultSet(java.util.List<CandidateResult> q)
          Create a ResultSet from the specified list of results
CandidateResultSet(java.util.Queue<CandidateResult> q)
          Create a ResultSet from the specified queue of results
 
Method Summary
 void addMetaItem(java.lang.String name, int docid, java.lang.String value)
          Adds a metadata value for a given document
 void addMetaItems(java.lang.String name, java.lang.String[] values)
          Adds the metadata values for all the documents in the result set.
 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 associated with the result set.
 java.lang.String getMetaItem(java.lang.String name, int docid)
          Gets a metadata value for a given document.
 java.lang.String[] getMetaItems(java.lang.String name)
          Gets the metadata information for all documents.
 java.lang.String[] getMetaKeys()
          Returns the names of the meta keys which this resultset has
 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, with the given length.
 int getResultSize()
          Returns the effective size of the result set.
 double[] getScores()
          Returns the documents scores after retrieval
 int getStatusCode()
          Returns a status code for the result set
 boolean hasMetaItems(java.lang.String name)
          Returns true if the resultset already has a set of metaitems with the specified name.
 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 contain at least one query term.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

docids

protected int[] docids

scores

protected double[] scores

occurrences

protected short[] occurrences

resultSize

protected int resultSize

exactResultSize

protected int exactResultSize

lock

protected java.util.concurrent.locks.Lock lock

statusCode

protected int statusCode
Constructor Detail

CandidateResultSet

public CandidateResultSet(java.util.Queue<CandidateResult> q)
Create a ResultSet from the specified queue of results


CandidateResultSet

public CandidateResultSet(java.util.List<CandidateResult> q)
Create a ResultSet from the specified list of results

Method Detail

getLock

public java.util.concurrent.locks.Lock getLock()
Returns the lock associated with the result set. The lock is used for modifying the result set concurrently by more than one threads.

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

getStatusCode

public int getStatusCode()
Returns a status code for the 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.

Specified by:
setStatusCode in interface ResultSet

addMetaItem

public void addMetaItem(java.lang.String name,
                        int docid,
                        java.lang.String value)
Description copied from interface: ResultSet
Adds a metadata value for a given document

Specified by:
addMetaItem in interface ResultSet
Parameters:
name - the name of the metadata type. For example, it can be 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)
Description copied from interface: ResultSet
Adds the metadata values for all the documents in the result set. The length of the metadata array values should be equal to the length of the docids array.

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

getMetaItem

public java.lang.String getMetaItem(java.lang.String name,
                                    int docid)
Description copied from interface: ResultSet
Gets a metadata value for a given document. If the requested metadata information is not specified, then we return null.

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)
Description copied from interface: ResultSet
Gets the metadata information for all documents. If the requested metadata information is not specified, then we return null.

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.

hasMetaItems

public boolean hasMetaItems(java.lang.String name)
Description copied from interface: ResultSet
Returns true if the resultset already has a set of metaitems with the specified name.

Specified by:
hasMetaItems in interface ResultSet
Parameters:
name - of the desired metaitem set
Returns:
true if the set exists.

getMetaKeys

public java.lang.String[] getMetaKeys()
Description copied from interface: ResultSet
Returns the names of the meta keys which this resultset has

Specified by:
getMetaKeys in interface ResultSet

getDocids

public int[] getDocids()
Description copied from interface: ResultSet
Returns the documents ids after retrieval

Specified by:
getDocids in interface ResultSet

getScores

public double[] getScores()
Description copied from interface: ResultSet
Returns the documents scores after retrieval

Specified by:
getScores in interface ResultSet

getOccurrences

public short[] getOccurrences()
Description copied from interface: ResultSet
Returns the occurrences array.

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

getResultSize

public int getResultSize()
Description copied from interface: ResultSet
Returns the effective size of the result set.

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

getExactResultSize

public int getExactResultSize()
Description copied from interface: ResultSet
Returns the exact size of the result set.

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

getResultSet

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

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

getResultSet

public ResultSet getResultSet(int[] positions)
Description copied from interface: ResultSet
Extracts a subset of the resultset given by the list parameter, which contains a list of positions in the resultset that should be saved.

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

initialise

public void initialise()
Description copied from interface: ResultSet
Initialises the arrays prior of retrieval.

Specified by:
initialise in interface ResultSet

initialise

public void initialise(double[] scs)
Description copied from interface: ResultSet
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.

setExactResultSize

public void setExactResultSize(int newExactResultSize)
Description copied from interface: ResultSet
Sets the exact size of the result set, that is the number of documents that contain at least one query term.

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

setResultSize

public void setResultSize(int newResultSize)
Description copied from interface: ResultSet
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.


Terrier 3.5. Copyright © 2004-2011 University of Glasgow