And*_*rei 0 sorting elasticsearch
现在尝试对查询结果进行排序.以下两个查询都不起作用:
{
"sort": [
{
"name": {
"order": "asc"
}
}
],
"query": {
"match_all": {}
}
}
{
"query": {
"match_all": {}
},
"sort": [
{
"name": {
"order": "asc"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
根据(文件),即使它们似乎有效.我在这里错过了什么?顺便说一下,查询部分的顺序在Elastic中是否重要?
我遇到了同样的情况.如果你的名字字段被映射为字符串并且已经安排,那么查询永远不会有效.使用多字段类型,您可以将名称映射两次,一个作为字符串进行分析,另一个作为字符串映射而不进行分析.对于Ex
'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')
)
)
Run Code Online (Sandbox Code Playgroud)
使用上面的映射,您可以搜索名称字段,您可以使用sort_name进行排序.
{
'query': {
'query_string':{'query':'user_name*','fields':['name']}
},
'sort':[
{
'name.sort_name': {
'order': 'asc'
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
参考链接:1)http://awesomism.co.uk/536336#2 ) http://blog.wiercinski.net/2011/uncategorized/elasticsearch-sorting-on-string-types-with-more-than-one -值每DOC或更多的超一令牌每场/
归档时间: |
|
查看次数: |
3101 次 |
最近记录: |