Elasticsearch: избегать возврата & quot; сортировать & quot; значение в наборе результатов

У меня есть этот простой поиск:

{
"from": 0,
"size": 5,
"query": {
"match_all": {}
},
"_source": [
"info"],
"sort": {
"date": {
"order": "desc"}
}
}

и результат:

"hits":{
"hits":[
{"sort":[-9223372036854775808 ], "_type": "reports", "_source": …},
{"sort":[-9223372036854775808 ], "_type": "reports", "_source": …},
{"sort":[-9223372036854775808 ], "_type": "reports", "_source": …},
{"sort":[-9223372036854775808 ], "_type": "reports", "_source": …},
{"sort":[-9223372036854775808 ], "_type": "reports", "_source": …}
],
"total": 38,
"max_score": null
},
"_shards":{
"successful": 15,
"failed": 0,
"total": 15
},
"took": 11,
"timed_out": false

Можно ли удалить поля "sort":[-9223372036854775808 ] из набора результатов? Я должен создать JSON с этим результатом, и я получил ошибку (json_decode(): integer overflow detected) из-за этого большого целого числа внутри этого поля.

2

Решение

Вы определенно не можете вернуть sort используя фильтрация ответов в вашем запросе.

В URL вашего запроса просто добавьте следующий параметр строки запроса:

...&filter_path=hits.hits._source,hits.hits._id,hits.hits._type,hits.hits._index

и вы получите все поля JSON внутри каждого попадания, кроме sort один.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]