elasticsearch 按字段大小对文档排序,elasticsearch,elasticsearch" /> elasticsearch 按字段大小对文档排序,elasticsearch,elasticsearch" />

elasticsearch 按字段大小对文档排序

elasticsearch 按字段大小对文档排序,elasticsearch,elasticsearch,我有如下索引的文档 一, 二, 现在我需要根据字段“countries”的数组长度对这些文档进行排序,这样排序后的结果将是document2,document1。如何使用elasticsearch实现此目标?您可以使用来实现此目标 { "query": { "match_all": {} }, "sort": { "_script": { "type": "number", "script": "doc['countr

我有如下索引的文档

一,

二,

现在我需要根据字段“countries”的数组长度对这些文档进行排序,这样排序后的结果将是document2,document1。如何使用elasticsearch实现此目标?

您可以使用来实现此目标

{
   "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"
      }
   }
}