Rank feature field type

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

  1. PUT my-index-000001
  2. {
  3. "mappings": {
  4. "properties": {
  5. "pagerank": {
  6. "type": "rank_feature"
  7. },
  8. "url_length": {
  9. "type": "rank_feature",
  10. "positive_score_impact": false
  11. }
  12. }
  13. }
  14. }
  15. PUT my-index-000001/_doc/1
  16. {
  17. "pagerank": 8,
  18. "url_length": 22
  19. }
  20. GET my-index-000001/_search
  21. {
  22. "query": {
  23. "rank_feature": {
  24. "field": "pagerank"
  25. }
  26. }
  27. }

Rank feature fields must use the rank_feature field type

Rank features that correlate negatively with the score need to declare it

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

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

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

Rank features that correlate negatively with the score should set positive_score_impact to false (defaults to true). This will be used by the rank_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.