栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

按嵌套文档之一中的值对文档进行排序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

按嵌套文档之一中的值对文档进行排序

看起来您构建嵌套过滤器的方式不正确。您在这里列出的内容也不适合我。

但是当我替换这个:

"sort": [    {      "children.size": {        "order": "asc",        "nested_filter": {          "nested": { "filter": {   "term": {     "id": 1   } }, "path": "children"          }        }      }    }]

有了这个:

"sort": [   {      "children.size": {         "order": "desc",         "nested_filter": { "term": {    "id": 1 }         }      }   }]

有效。

更准确地说,我建立了索引并添加了数据:

DELETE /test_indexPUT /test_index/{    "settings": {        "number_of_shards": 1,        "number_of_replicas": 0    }}PUT /test_index/item/_mapping{   "item": {      "properties": {         "name": { "type": "string", "store": "yes"         },         "children": { "properties": {    "name": {       "type": "string",       "store": "yes"    },    "id": {       "type": "integer",       "store": "yes"    },    "size": {       "type": "integer",       "store": "yes"    } }, "type": "nested"         }      }   }}PUT /test_index/item/1{"name":"item1","children":[{"id":11,"size":15},{"id":3,"size":6}]}PUT /test_index/item/2{"name":"item2","children":[{"id":1,"size":2},{"id":3,"size":6}]}PUT /test_index/item/3{"name":"item3","children":[{"id":1,"size":7},{"id":3,"size":36}]}PUT /test_index/item/4{"name":"item4","children":[{"id":1,"size":11},{"id":3,"size":16}]}

然后使用进行搜索,如下所示,

"order": "desc"
它似乎可以正常运行:

POST /test_index/item/_search{   "query": {      "filtered": {         "query": { "match_all": {}         },         "filter": { "nested": {    "filter": {       "term": {          "id": 1       }    },    "path": "children" }         }      }   },   "sort": [      {         "children.size": { "order": "desc", "mode": "avg", "nested_filter": {    "term": {       "id": 1    } }         }      }   ]}...{   "took": 2,   "timed_out": false,   "_shards": {      "total": 1,      "successful": 1,      "failed": 0   },   "hits": {      "total": 3,      "max_score": null,      "hits": [         { "_index": "test_index", "_type": "item", "_id": "4", "_score": null, "_source": {    "name": "item4",    "children": [       {          "id": 1,          "size": 11       },       {          "id": 3,          "size": 16       }    ] }, "sort": [    11 ]         },         { "_index": "test_index", "_type": "item", "_id": "3", "_score": null, "_source": {    "name": "item3",    "children": [       {          "id": 1,          "size": 7       },       {          "id": 3,          "size": 36       }    ] }, "sort": [    7 ]         },         { "_index": "test_index", "_type": "item", "_id": "2", "_score": null, "_source": {    "name": "item2",    "children": [       {          "id": 1,          "size": 2       },       {          "id": 3,          "size": 6       }    ] }, "sort": [    2 ]         }      ]   }}

这是我使用的代码:

http://sense.qbox.io/gist/1582560ed13bec82dc321944a639336ad7ae6a60



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/393260.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号