I have a mapping that boils down to the following (unrelated fields removed):

```
mapping 
  indexes :id, type: 'integer', index: :not_analyze        
  indexes :first_name, boost: 5, type: 'string', analyzer: 'snowball'
  indexes :votes, type: 'integer', index: :not_analyzed
end

```

At the moment I'm calculating ranking via postgres, so that given the following entries:

```
| first_name | votes |
----------------------
| Andy       |     5 |
| Barry      |     8 |
| Carl       |     5 |
| Derek      |     1 |

```

Using postgres, I can get the following:

```
| first_name | votes | rank |
-----------------------------
| Barry      |     8 |    1 |
| Andy       |     5 |    2 |
| Carl       |     5 |    2 |
| Derek      |     1 |    4 |

```

Is it possible somehow calculate this ranking via elasticsearch?