【问题标题】:Elasticsearch Php Date mapping, filtering and searchingElasticsearch Php 日期映射、过滤和搜索
【发布时间】:2016-02-04 23:22:01
【问题描述】:

请帮助我。我正在使用 php 5.5 和 Elasticsearch 2.1。我想做历史排名。但我的日期过滤器无法正常工作。

当我只在日期之间进行查询时,我得到了准确的结果。但是,当我使用日期 mont、day 和 hour 进行查询时,我没有得到准确的结果。

例如:

http://10.0.2.15:8080/filter.php?my_date_try&my_date_lte=2017/12/3123:59:59&my_date_gte=2016/01/0100:00:00

结果不正确。

示例 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


    【解决方案1】:

    您的格式字符串在日期和小时之间有一个空格,您的示例 URL 没有:

    $myTypeMapping['properties']['my_date']['format']='yyyy/MM/dd HH:mm:ss';
                                                                 ^
    
    http://10.0.2.15:8080/filter.php?my_date_try&my_date_lte=2017/12/3123:59:59&my_date_gte=2016/01/0100:00:00
                                                                       ^                              ^
    

    【讨论】:

      【解决方案2】:

      我修好了:

      示例 1:

      http://10.0.2.15:8080/filter.php?my_date_try&my_date_lte=2017/12/31 23:59:59&my_date_gte=2016/01/01 00:00:00

      示例 2:

      http://10.0.2.15:8080/filter.php?my_date_try&my_date_lte=2017&my_date_gte=2016

      例子3:我也只写了没有时间的日期:

      http://10.0.2.15:8080/filter.php?my_date_try&my_date_lte=2017/12/31&my_date_gte=2016/01/01

      第二个例子,结果是正确的,但是其他的都是错误的

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-25
        相关资源
        最近更新 更多