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
Sorting Elasticsearch按嵌套对象排序_Sorting_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Sorting,elasticsearch" /> elasticsearch,Sorting,elasticsearch" />

Sorting Elasticsearch按嵌套对象排序

Sorting Elasticsearch按嵌套对象排序,sorting,elasticsearch,Sorting,elasticsearch,我刚刚发现elasticsearch,我正在尝试进行我的第一个查询。例如,在我的例子中,每篇文章都有几个价格,我想按最低价格对这些文章进行排序。因此,我不会考虑其他因素。这只是最低价格,将不得不排序我的文章。 以下是我的文章: { "name": "john", "prices": [ { "price": "22" }, {

我刚刚发现elasticsearch,我正在尝试进行我的第一个查询。例如,在我的例子中,每篇文章都有几个价格,我想按最低价格对这些文章进行排序。因此,我不会考虑其他因素。这只是最低价格,将不得不排序我的文章。 以下是我的文章:

{
           "name": "john",
           "prices": [
              {
                 "price": "22"
              },
              {
                 "price": "28"
              },
              {
                 "price": "8"
              }
           ]
        },
        {
           "name": "peter",
           "prices": [
              {
                 "price": "7"
              },
              {
                 "price": "5"
              },
              {
                 "price": "2"
              }
           ]
        },
        {
           "name": "billy",
           "prices": [
              {
                 "price": "15"
              },
              {
                 "price": "17"
              }
           ]
        }
注意:如果prices对象是嵌套类型而不是object,则还需要在prices.price中添加嵌套路径:prices

有关排序的更多信息,请参见此处:

可能我们需要使用GET方法而不是POST,如果是,请更新您的answer@ManishsharmaElasticSearch支持中的GET和POST HTTP方法。因为在我们的示例中,我们也在请求体内发送数据,所以应该是POST,而不是GET。因为GET不应用于发送请求正文中的数据-
POST /_search

{
    "query" : {
        "match_all": {}
    },
    "sort" : [
        {
            "prices.price": {
                "order": "asc",
                "mode" : "min"
            }
        }
    ]
}