Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 轮胎/弹性搜索:排序不工作_Sorting_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Tire - Fatal编程技术网 elasticsearch,tire,Sorting,elasticsearch,Tire" /> elasticsearch,tire,Sorting,elasticsearch,Tire" />

Sorting 轮胎/弹性搜索:排序不工作

Sorting 轮胎/弹性搜索:排序不工作,sorting,elasticsearch,tire,Sorting,elasticsearch,Tire,我正在使用从Rails应用程序访问弹性搜索。我的代码生成以下查询,据我所知是正确的: [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.

我正在使用从Rails应用程序访问弹性搜索。我的代码生成以下查询,据我所知是正确的:

[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
}]]
生成此项的方法如下所示:

  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? && 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? && 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
结束


我完全不知道为什么这不起作用。

我在排序方面也有类似的问题。。。取决于您对该字段的索引方式。如果它是一个标记化的字符串,您可能会遇到困难。相反,您可以使用多字段而不是分析它,或者您可以使用基于_源的_脚本排序:

{   "query": {
    "query_string": {
      "query": "something or other"
    }   },   "sort": {
    "_script": {
      "script": "_source.contentLegend",
      "type": "string",
      "order": "desc"
    }   } }
希望对你有所帮助