我没有让这个范围过滤器与elasticsearch php客户端一起工作:
Array (
[index] => xyz
[type] => imagesearch
[body] => Array (
[from] => 0
[size] => 10
[query] => Array (
[filtered] => Array (
[filter] => Array (
[bool] => Array (
[must] => Array (
[term] => Array (
[type] => abc
[stationId] => 01
)
[range] => Array (
[timestamp] => Array (
[gt] => 1449356400
)
)
)
)
)
[query] => Array (
[match] => Array (
[_all] => Hund
)
)
)
)
)
)
如果没有范围过滤器,查询/过滤器可以正常工作。我错过了什么?
Elasticsearch(由Java支持)使用不同的时间戳格式。它使用毫秒而不是秒,所以你必须将时间戳乘以1000。
为了解决这样的问题,有PHP的抽象级别和框架的集成。