【发布时间】:2016-02-04 23:22:01
【问题描述】:
请帮助我。我正在使用 php 5.5 和 Elasticsearch 2.1。我想做历史排名。但我的日期过滤器无法正常工作。
当我只在日期之间进行查询时,我得到了准确的结果。但是,当我使用日期 mont、day 和 hour 进行查询时,我没有得到准确的结果。
例如:
结果不正确。
示例 2:
http://10.0.2.15:8080/filter.php?my_date_try&my_date_lte=2017&my_date_gte=2016
结果正确。
我的日期映射:
$myTypeMapping['properties']['my_date']['type']='date';
$myTypeMapping['properties']['my_date']['index']='not_analyzed';
$myTypeMapping['properties']['my_date']['format']='yyyy/MM/dd HH:mm:ss';
我的日期过滤器:
unset($filter_my_date);
if(isset($_GET[my_date_try])){
$filter_my_date['range']['my_date']['lte']=$_GET['my_date_lte'];
$filter_my_date['range']['my_date']['gte']=$_GET['my_date_gte'];
$filter_my_date['range']['my_date']['format']='yyyy/MM/dd HH:mm:ss';
}
if(is_array($filter_my_date)){
$searchParams['body']['query']['bool']['must']=$filter_my_date;
}
有什么问题?
【问题讨论】:
标签: php elasticsearch