У меня есть этот простой поиск:
{
"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
) из-за этого большого целого числа внутри этого поля.
Вы определенно не можете вернуть sort
используя фильтрация ответов в вашем запросе.
В URL вашего запроса просто добавьте следующий параметр строки запроса:
...&filter_path=hits.hits._source,hits.hits._id,hits.hits._type,hits.hits._index
и вы получите все поля JSON внутри каждого попадания, кроме sort
один.
Других решений пока нет …