Interface ResultSet

    • 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 document
      void 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 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[] 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 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.
      void sort()
      Sorts all documents in this resultset by descending score
      void 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