Я пытаюсь исключить дублирующиеся документы, которые имеют одинаковые параметры slug
, чтобы сделать это, я использую aggs в ElasticSearch (версия 2.4). Я использую - этот запрос:
{
"fields":[
"id",
"score"],
"size":0,
"query":{
"function_score":{
"query":{
"bool":{
"should":[
{
"match":{
"main_headline.en":{
"query":"headline_for_search"
}
}
},
{
"match":{
"body.en":"body for search"
}
}],
"must_not":{
"term":{
"id":75333
}
},
"filter":[
{
"term":{
"status":3
}
},
[
{
"term":{
"sites":6
}
}]]
}
},
"functions":[
{
"gauss":{
"published_at":{
"scale":"140w",
"decay":0.3
}
}
}
]
},
"aggs":{
"postslug":{
"terms":{
"field":"slug",
"order":{
"top_score":"desc"
}
},
"aggs":{
"grouppost":{
"top_hits": {
"_source": {
"include": [
"id",
"slug",
]
},
"size" : 10
}
}
}
}
}
}
}
Когда я запускаю его, я получаю сообщение об ошибке
не удалось проанализировать источник поиска. ожидаемое имя поля, но получено [START_OBJECT]
Я не могу понять, где ошибка.
Без сечения aggs все отлично работает (кроме существующих дубликатов)