Score context

edit

Use a Painless script in a function score to apply a new score to documents returned from a query.

Variables

params (Map, read-only)
User-defined parameters passed in as part of the query.
doc (Map, read-only)
Contains the fields of the current document. For single-valued fields, the value can be accessed via doc['fieldname'].value. For multi-valued fields, this returns the first value; other values can be accessed via doc['fieldname'].get(index)
_score (double read-only)
The similarity score of the current document.

Return

double
The score for the current document.

API

The standard Painless API is available.

Example

To run this example, first follow the steps in context examples.

The following query finds all unsold seats, with lower row values scored higher.

GET /seats/_search
{
  "query": {
    "function_score": {
      "query": {
        "match": {
          "sold": "false"
        }
      },
      "script_score": {
        "script": {
          "source": "1.0 / doc['row'].value"
        }
      }
    }
  }
}