Мы индексируем статьи в ElasticSearch 6.8. Некоторые статьи относятся к досье, с которым они связаны полем ключевого слова, содержащим фрагмент досье. Проблема: нам нужно отсортировать досье по новейшей статье, информация, которая доступна только через Elasticsearch.
Мы попробовали это с помощью следующего запроса
{
"query": {
"bool" : {
"must": {
"exists": {
"field": "dossiers.keyword"
}
}
}
},
"sort": [{"change_date": "desc"}],
"collapse": {
"field": "dossiers.keyword",
"inner_hits": {
"name": "most_recent",
"size": 1,
"sort": [{"change_date": "desc"}]
}
}
}
Запрос отлично работает для получите самую новую статью для каждого досье, если в каждой статье есть только одно досье. К сожалению, некоторые статьи связаны с более чем одним досье, поэтому сворачивание не работает.
Есть ли способ заставить свертку работать, если в поле досье есть несколько записей, или лучше запросить поставленная задача?