elasticsearch 按字段大小对文档排序
我有如下索引的文档 一, 二, 现在我需要根据字段“countries”的数组长度对这些文档进行排序,这样排序后的结果将是document2,document1。如何使用elasticsearch实现此目标?您可以使用来实现此目标
elasticsearch 按字段大小对文档排序,
elasticsearch,
elasticsearch,我有如下索引的文档 一, 二, 现在我需要根据字段“countries”的数组长度对这些文档进行排序,这样排序后的结果将是document2,document1。如何使用elasticsearch实现此目标?您可以使用来实现此目标 { "query": { "match_all": {} }, "sort": { "_script": { "type": "number", "script": "doc['countr
{
"query": {
"match_all": {}
},
"sort": {
"_script": {
"type": "number",
"script": "doc['countries'].values.size()",
"order": "desc"
}
}
}
我建议在Elasticsearch中使用令牌计数类型。 通过使用脚本,可以完成(可以检查如何使用脚本完成)。但结果不会完美。 脚本主要使用文件数据缓存,并在该缓存中删除重复的文件 您可以阅读有关如何使用令牌计数类型的更多信息
{
"name": "Billy",
"hobbyName":"coin collection",
"countries":["UK","Ghana","China","France"]
}
{
"query": {
"match_all": {}
},
"sort": {
"_script": {
"type": "number",
"script": "doc['countries'].values.size()",
"order": "desc"
}
}
}