Class RatedRequest

  • All Implemented Interfaces:
    Writeable, ToXContent, ToXContentObject

    public class RatedRequest
    extends java.lang.Object
    implements Writeable, ToXContentObject
    Definition of a particular query in the ranking evaluation request.
    This usually represents a single user search intent and consists of an id (ideally human readable and referencing the search intent), the list of indices to be queries and the SearchSourceBuilder that will be used to create the search request for this search intent.
    Alternatively, a template id and template parameters can be provided instead.
    Finally, a list of rated documents for this query also needs to be provided.

    The json structure in the rest request looks like this:

     {
        "id": "coffee_query",
        "request": {
            "query": {
                "match": { "beverage": "coffee" }
            }
        },
        "summary_fields": ["title"],
        "ratings": [
            {"_index": "my_index", "_id": "doc1", "rating": 0},
            {"_index": "my_index", "_id": "doc2","rating": 3},
            {"_index": "my_index", "_id": "doc3", "rating": 1}
        ]
     }
     
    • Constructor Detail

      • RatedRequest

        public RatedRequest​(java.lang.String id,
                            java.util.List<RatedDocument> ratedDocs,
                            java.util.Map<java.lang.String,​java.lang.Object> params,
                            java.lang.String templateId)
        Create a rated request with template ids and parameters.
        Parameters:
        id - a unique name for this rated request
        ratedDocs - a list of document ratings
        params - template parameters
        templateId - a templare id
      • RatedRequest

        public RatedRequest​(java.lang.String id,
                            java.util.List<RatedDocument> ratedDocs,
                            SearchSourceBuilder evaluatedQuery)
        Create a rated request using a SearchSourceBuilder to define the evaluated query.
        Parameters:
        id - a unique name for this rated request
        ratedDocs - a list of document ratings
        evaluatedQuery - the query that is evaluated
    • Method Detail

      • writeTo

        public void writeTo​(StreamOutput out)
                     throws java.io.IOException
        Specified by:
        writeTo in interface Writeable
        Throws:
        java.io.IOException
      • getId

        public java.lang.String getId()
        return the user supplied request id
      • getRatedDocs

        public java.util.List<RatedDocument> getRatedDocs()
        return the list of rated documents to evaluate.
      • getParams

        public java.util.Map<java.lang.String,​java.lang.Object> getParams()
        return the parameters if this request uses a template, otherwise this will be empty.
      • getTemplateId

        public java.lang.String getTemplateId()
        return the parameters if this request uses a template, otherwise this will be null.
      • getSummaryFields

        public java.util.List<java.lang.String> getSummaryFields()
        returns a list of fields that should be included in the document summary for matched documents
      • addSummaryFields

        public void addSummaryFields​(java.util.List<java.lang.String> summaryFields)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public final boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class java.lang.Object