Package org.terrier.matching
Interface ResultSet
-
- All Superinterfaces:
java.io.Serializable
- All Known Subinterfaces:
FatResultSet
,FeaturedResultSet
- All Known Implementing Classes:
AccumulatorResultSet
,CandidateResultSet
,CollectionResultSet
,FatCandidateResultSet
,FatQueryResultSet
,FeaturedQueryResultSet
,QueryResultSet
public interface ResultSet extends java.io.Serializable
The interface that defines the functionalities of a result set.- Author:
- Vassilis Plachouras
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addMetaItem(java.lang.String name, int docid, java.lang.String value)
Adds a metadata value for a given documentvoid
addMetaItems(java.lang.String name, java.lang.String[] values)
Adds the metadata values for all the documents in the result set.java.lang.String[][]
allMetaItems()
int[]
getDocids()
Returns the documents ids after retrievalint
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 hasshort[]
getOccurrences()
Returns the occurrences array.ResultSet
getResultSet(int[] list)
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 retrievalint
getStatusCode()
Returns a status code for the result setboolean
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.void
sort()
Sorts all documents in this resultset by descending scorevoid
sort(int topDocs)
Sorts the top topDocs document in this resultset be first.
-
-
-
Method Detail
-
getMetaKeys
java.lang.String[] getMetaKeys()
Returns the names of the meta keys which this resultset has- Returns:
- the list of key names
-
addMetaItem
void addMetaItem(java.lang.String name, int docid, java.lang.String value)
Adds a metadata value for a given document- 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
void addMetaItems(java.lang.String name, java.lang.String[] values)
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.- Parameters:
name
- the name of the metadata type. For example, it can be url for adding the URLs of documents.values
- the metadata values.
-
hasMetaItems
boolean hasMetaItems(java.lang.String name)
Returns true if the resultset already has a set of metaitems with the specified name.- Parameters:
name
- of the desired metaitem set- Returns:
- true if the set exists.
-
allMetaItems
java.lang.String[][] allMetaItems()
-
getDocids
int[] getDocids()
Returns the documents ids after retrieval- Returns:
- the docids
-
getExactResultSize
int getExactResultSize()
Returns the exact size of the result set.- Returns:
- int the exact size of the result set
-
getMetaItem
java.lang.String getMetaItem(java.lang.String name, int docid)
Gets a metadata value for a given document. If the requested metadata information is not specified, then we return null.- 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
java.lang.String[] getMetaItems(java.lang.String name)
Gets the metadata information for all documents. If the requested metadata information is not specified, then we return null.- 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.
-
getOccurrences
short[] getOccurrences()
Returns the occurrences array.- Returns:
- short[] the array the occurrences array.
-
getResultSize
int getResultSize()
Returns the effective size of the result set.- Returns:
- int the effective size of the result set
-
getScores
double[] getScores()
Returns the documents scores after retrieval- Returns:
- score list in same order as docids array
-
initialise
void initialise()
Initialises the arrays prior of retrieval.
-
initialise
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.- Parameters:
scs
- double[] the scores to initiliase the result set with.
-
sort
void sort()
Sorts all documents in this resultset by descending score
-
sort
void sort(int topDocs)
Sorts the top topDocs document in this resultset be first. The order of the remaining documents is undefined.- Parameters:
topDocs
- number of documents to top-rank
-
setExactResultSize
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.- Parameters:
newExactResultSize
- int the effective size of the result set.
-
setResultSize
void setResultSize(int newResultSize)
Sets the effective size of the result set, that is the number of documents to be sorted after retrieval.- Parameters:
newResultSize
- int the effective size of the result set.
-
getResultSet
ResultSet getResultSet(int start, int length)
Crops the existing result file and extracts a subset from the given starting point, with the given length.- Parameters:
start
- the beginning of the subset.length
- the length of the subset.- Returns:
- a subset of the current result set.
-
getResultSet
ResultSet getResultSet(int[] list)
Extracts a subset of the resultset given by the list parameter, which contains a list of positions in the resultset that should be saved.- Parameters:
list
- the list of elements in the current list that should be kept.- Returns:
- a subset of the current result set specified by the list.
-
getLock
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.- Returns:
- the lock.
-
getStatusCode
int getStatusCode()
Returns a status code for the result set- 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
void setStatusCode(int _statusCode)
Sets the status code.- Parameters:
_statusCode
- - the code to return to the user
-
-