当尝试使用以下查询查找条目时,ElasticSearch返回“没有为[likes_count]”注册的查询错误。字段 likes_count 是一个新的文档字段,并不存在于每个文档中。
相同的查询在没有排序部分的情况下工作。
为什么会出现此错误?
由于
{
"query": {
"filtered": {
"query": {
"query_string": {
"fields": ["description"],
"query": "sun"
},
"sort": [{
"likes_count": {
"unmapped_type": "boolean",
"order": "desc",
"missing": "_last"
}
}]
},
"filter": {"term": {"permissions": 1}}
}
}
}
答案 0 :(得分: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"
}
}
]
}