我正在重写文档中的嵌套字段,并且无法使查询权限对嵌套字段进行排序。
以前我有这样的嵌套字段:
"my_nested_obj": {
"project-type": [
{
"name": "Table",
"value": "159841"
}
],
"cost": [
{
"name": "Under $50",
"value": "426503"
}
],
"skill-level": [
{
"name": "Intermediate",
"value": "63897"
}
],
"room": [
{
"name": "Outdoor",
"value": "19246"
}
]
}....
我能够编写这样的查询,我可以提升并对“my_nested_obj”进行排序。例如:
{
"from": 0,
"size": 50,
"query": {
"filtered": {
"query": {
"multi_match": {
"query": "something",
"fields": [
"content",
"name",
"my_nested_obj.skill-level.name^3"
]
}
},
"filter": {
"bool": {
"must": [
{
"match_all": [
]
},
{
"term": {
"retired": false
}
}
]
}
}
}
},
"sort": {
"my_nested_obj.skill-level.name": "desc"
},
"timeout": "1800ms"
}
现在,我需要重新格式化嵌套字段,如:
"my_nested_obj": [
{
"name": "Table",
"type": "project-type",
"value": "159841"
},
{
"name": "Under $50",
"type": "cost",
"value": "426503"
},
{
"name": "Intermediate",
"type": "skill-level",
"value": "63897"
},
{
"name": "Outdoor",
"type": "room",
"value": "19246"
}
]....
我可以在my_nested_obj.name上进行泛型排序,如:
....
"sort": {
"my_nested_obj.name": "desc"
},
...
如何添加例如排序特定技能级别名称而不是所有my_nested_obj.name
?还有一些方法来指定提升?
谢谢!