title: Tire / Elasticsearch: Sort not working
body: <p>I am using the <a href="https://github.com/karmi/tire" rel="nofollow">tire gem</a> to access elastic search from my Rails application. My code generates the following query, which to my understanding of the <a href="http://www.elasticsearch.org/guide/reference/api/search/sort/" rel="nofollow">docs for sort</a> is correct:</p>
  
  <pre><code>[2013-08-09 15:06:08,538][DEBUG][action.search.type       ] [Nitro] [tweets][3], node[INKC2ryGQ4Sx1qYP4qC-Og], [P], s[STARTED]: Failed to execute [org.elasticsearch.action.search.SearchRequest@54daad1d]
  org.elasticsearch.search.SearchParseException: [tweets][3]: query[ConstantScore(*:*)],from[-1],size[-1]: Parse Failure [Failed to parse source [{
    "query": {
      "match_all": {
  
      }
    },
    "sort": [
      {
        "author": "asc"
      }
    ],
    "filter": {
      "terms": {
        "entities_ids": [
          "10"
        ]
      }
    },
    "size": 10,
    "from": 0
  }]]
  </code></pre>
  
  <p>The method generating this looks like this:</p>
  
  <pre><code>  def Tweet.search_tweets(params = {})
  Tweet.search(page: params[:page], per_page: params[:per_page]) do
  
    if params[:query_string].present? || params[:sentiment].present? ||
      (params[:start_date].present? &amp;&amp; params[:end_date].present?)
      query do
        boolean do
          if params[:query_string].present?
            must { string params[:query_string], default_operator: "AND" }
          end
  
          if params[:sentiment].present?
            must { term :sentiment, params[:sentiment]}
          end
  
          if params[:start_date].present? &amp;&amp; params[:end_date].present?
            must { string "created_at:[#{params[:start_date]} TO #{params[:end_date]}]"}
          end
        end
      end
    else
      query do
        all
      end
    end
  
    if params[:entity_id].present?
      filter :terms, entities_ids: [params[:entity_id]]
    end
  
    if params[:sort].present?
      sort { by params[:sort][:by], params[:sort][:order] }
    end
  
  end
  </code></pre>
  
  <p>end</p>
  
  <p>I have absolutely no idea why this doesn't work.</p>