Feature datatypeedit

A feature field can index numbers so that they can later be used to boost documents in queries with a feature query.

PUT my_index?include_type_name=true
{
  "mappings": {
    "_doc": {
      "properties": {
        "pagerank": {
          "type": "feature" 
        },
        "url_length": {
          "type": "feature",
          "positive_score_impact": false 
        }
      }
    }
  }
}

PUT my_index/_doc/1
{
  "pagerank": 8,
  "url_length": 22
}

GET my_index/_search
{
  "query": {
    "feature": {
      "field": "pagerank"
    }
  }
}

Feature fields must use the feature field type

Features that correlate negatively with the score need to declare it

Note

feature fields only support single-valued fields and strictly positive values. Multi-valued fields and negative values will be rejected.

Note

feature fields do not support querying, sorting or aggregating. They may only be used within feature queries.

Note

feature fields only preserve 9 significant bits for the precision, which translates to a relative error of about 0.4%.

Features that correlate negatively with the score should set positive_score_impact to false (defaults to true). This will be used by the feature query to modify the scoring formula in such a way that the score decreases with the value of the feature instead of increasing. For instance in web search, the url length is a commonly used feature which correlates negatively with scores.