2015-06-17 4 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" 
     } 
    } 
    ] 
} 
Смежные вопросы