2015-06-17 140 views
3

ElasticSearch返回我“尝试使用以下查询查找条目时,没有为[likes_count]”错误注册的查询。该字段likes_count是一个新的文档字段,并不存在于每个文档中。ElasticSearch-“没有查询注册...”

相同的查询没有排序部分。

为什么会出现此错误?

感谢

{ 
    "query": { 
    "filtered": { 
     "query": { 
     "query_string": { 
      "fields": ["description"], 
      "query": "sun" 
     }, 
     "sort": [{ 
      "likes_count": { 
      "unmapped_type": "boolean", 
      "order": "desc", 
      "missing": "_last" 
      } 
     }] 
     }, 
     "filter": {"term": {"permissions": 1}} 
    } 
    } 
} 

回答

2

撰写您这样的查询,即sort需要到顶层,而不是嵌套在query部分:

{ 
    "query": { 
    "filtered": { 
     "query": { 
     "query_string": { 
      "fields": [ 
      "description" 
      ], 
      "query": "sun" 
     } 
     }, 
     "filter": { 
     "term": { 
      "permissions": 1 
     } 
     } 
    } 
    }, 
    "sort": [ 
    { 
     "likes_count": { 
     "unmapped_type": "boolean", 
     "order": "desc", 
     "missing": "_last" 
     } 
    } 
    ] 
}