Elasticsearch 找不到用于字段排序的映射

Skr*_*dox 3 elasticsearch

未找到字段映射以便按 [created_at] 进行排序

这条消息的实际含义是什么?字段本身created_at存在,我应该重建索引吗?或者有办法解决这个问题error吗?

更新 :

{
   "query":{
      "bool":{
         "must":{
            "multi_match":{
               "query":"phone",
               "fields":[
                  "text"
               ],
               "minimum_should_match":"100%"
            }
         },
         "filter":{

         }
      }
   },
   "sort":[
      {
         "created_at":{
            "order":"desc"
         }
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

Ram*_*shN 7

我在日期字段上遇到了同样的问题。问题是该created_at字段未正确映射。

我们可以通过两种方式解决这个问题

  1. created_at具有正确映射的映射字段"type": "date"
  2. 当在排序部分中找不到映射时,我们可以指定要考虑的字段类型,如下所示

{
    "sort": [
        {
            "created_at": {
                "order": "desc",
                "unmapped_type": "date"
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我希望这可以帮助你。