按数值数组排序的Elasticsearch查询
创始人
2024-11-05 18:30:47
0

假设我们的数据文档长这样:

{ "name": "John Doe", "age": 32, "interests": ["reading", "sports", "music"] }

我们想按照"interests"字段中的数组元素顺序进行排序,该如何实现呢?

首先,需要使用nested类型来为"interests"字段建立索引,这样我们才能在查询时访问到每个数组元素。示例映射如下:

PUT /my-index { "mappings": { "properties": { "name": { "type": "text" }, "age": { "type": "integer" }, "interests": { "type": "nested", "properties": { "name": { "type": "keyword" } } } } } }

注意,我们在nested类型下为"interests"数组建立了一个新的字段"name",这是因为我们想对它进行排序。如果你想按照整个数组进行排序而不是单个元素,则可以直接在排序方法中引用"interests"字段。

接下来,我们需要构造一个查询,其中包含一个nested聚合,该聚合负责对"interests"数组进行排序,然后输出匹配结果。以下是一个示例查询:

GET /my-index/_search { "query": { "match_all": {} }, "aggs": { "sorted_interests": { "nested": { "path": "interests" }, "aggs": { "sorted_by_name": { "terms": { "field": "interests.name", "order": { "_key": "asc" }, "size": 100 } } } } } }

这个查询会输出所有文档的"interests"字段,按照每个数组元素的名称进行排序。如果你想按照自己的顺

相关内容

热门资讯

更值得关注的是!围棋辅助器乐乐... 更值得关注的是!围棋辅助器乐乐,果然是有辅助器(真的有挂)-哔哩哔哩1、完成围棋辅助器乐乐辅助器v3...
迎来新发展!情怀游戏字牌辅助,... 迎来新发展!情怀游戏字牌辅助,都是有挂辅助插件(有挂详细)-哔哩哔哩1、情怀游戏字牌辅助透视辅助软件...
现场直击!哥哥打大a有没有辅助... 现场直击!哥哥打大a有没有辅助,确实有挂辅助软件(有挂猫腻)-哔哩哔哩1、让任何用户在无需哥哥打大a...
最终!好友赣南新版本辅助,都是... 最终!好友赣南新版本辅助,都是有挂辅助插件(新版有挂)-哔哩哔哩1、好友赣南新版本辅助免费脚本咨询教...
据报道!奇迹陕西游戏辅助器,确... 您好,奇迹陕西游戏辅助器这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多...
做出回应!雀姬辅助器,一贯真的... 做出回应!雀姬辅助器,一贯真的是有辅助工具(有挂实锤)-哔哩哔哩1、让任何用户在无需雀姬辅助器安装教...
最终!潮友会鱼虾蟹塞子概率计算... 最终!潮友会鱼虾蟹塞子概率计算方式,好像真的是有辅助脚本(有挂透视)-哔哩哔哩潮友会鱼虾蟹塞子概率计...
事发当天!德州扑克游戏辅助器,... 事发当天!德州扑克游戏辅助器,总是存在有辅助软件(有挂猫腻)-哔哩哔哩1、很好的工具软件,可以解锁游...
来临!新西部辅助器,原来是真的... 来临!新西部辅助器,原来是真的辅助工具(有挂教程)-哔哩哔哩1、该软件可以轻松地帮助玩家将新西部辅助...
据玩家消息!吉祥填大坑有什么诀... 据玩家消息!吉祥填大坑有什么诀窍,其实存在有辅助插件(竟然有挂)-哔哩哔哩小薇(辅助器软件下载)致您...