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 排序结果是弹性的_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 排序结果是弹性的

Sorting 排序结果是弹性的,sorting,elasticsearch,Sorting,elasticsearch,正在尝试对查询结果进行排序。以下两个查询均无效: { "sort": [ { "name": { "order": "asc" } } ], "query": { "match_all": {} } } { "query": { "match_all": {} }, "sort": [ { "name": { "order": "asc" }

正在尝试对查询结果进行排序。以下两个查询均无效:

{
  "sort": [
    {
      "name": {
        "order": "asc"
      }
    }
  ],
  "query": {
    "match_all": {}
  }
}

{
  "query": {
    "match_all": {}
  },
  "sort": [
    {
      "name": {
        "order": "asc"
      }
    }
  ]
}

根据()的说法,尽管它们似乎是有效的。我错过了什么?顺便问一下,在弹性中,查询部分的顺序是否很重要?

我也遇到过同样的情况。如果您的名称字段映射为字符串并进行了分析,则查询永远无法工作。使用多字段类型,您可以将名称映射两次,一个作为字符串并已分析,另一个作为字符串而未分析。前

'user_id' =>array('type'=>'integer'),
'name' =>array(
     'type'=>'multi_field',
     'fields'=>array(
          'name'=>array('type'=>'string','index'=>'analyzed'),
          'sort_name'=>array('type'=>'string','index'=> 'not_analyzed')
      )
   )
使用上面的映射,您可以在名称字段上搜索,并且可以使用sort\u name进行排序

{
 'query': {
  'query_string':{'query':'user_name*','fields':['name']}
  },
  'sort':[
  {
    'name.sort_name': {
    'order': 'asc'
    }
  }
  ]
}
参考链接: 1)
2)

我也遇到过同样的情况。如果您的姓名字段映射为字符串并进行了分析,则查询将无法工作。使用多字段类型,您可以将名称映射两次,一个作为字符串并已分析,另一个作为字符串而未分析。前

'user_id' =>array('type'=>'integer'),
'name' =>array(
     'type'=>'multi_field',
     'fields'=>array(
          'name'=>array('type'=>'string','index'=>'analyzed'),
          'sort_name'=>array('type'=>'string','index'=> 'not_analyzed')
      )
   )
使用上面的映射,您可以在名称字段上搜索,并且可以使用sort\u name进行排序

{
 'query': {
  'query_string':{'query':'user_name*','fields':['name']}
  },
  'sort':[
  {
    'name.sort_name': {
    'order': 'asc'
    }
  }
  ]
}
参考链接: 1) 2)

你所说的“工作”和“不工作”是什么意思?是否分析了您的
名称
属性(请粘贴相关映射片段)?你的语法确实正确。你说的“有效”和“无效”是什么意思?是否分析了您的
名称
属性(请粘贴相关映射片段)?你的语法确实正确。