【问题标题】:Range Filter Query with elasticsearch in a symfony2 project在 symfony2 项目中使用 elasticsearch 进行范围过滤查询
【发布时间】:2015-10-08 03:07:25
【问题描述】:
$mainQuery = new \Elastica\Query\BoolQuery();
$rangeFilter = new Filtered(
$mainQuery,
   new Range('price', array(
         'gte' => $min,
         'lte' => $max
    ))
  );
$data = $finder->search($rangeFilter);

在我的控制器操作中,我使用上面的代码来过滤 $min、$max(传递给此控制器的变量)的价格之间的弹性搜索数据。不知何故,返回给我的数据不是我的查询的正确结果。

我是否使用了错误的方法来实现 FOSElasticaBundle 方法。此外,如果有人可以分享一些关于如何使用 symfony2 的弹性搜索或如何使用 FOSElasticBundle 进行查询的链接或教程,那将有很大帮助。

【问题讨论】:

    标签: php symfony elasticsearch foselasticabundle


    【解决方案1】:

    我是这样做的……

     $boolQuery= new  Elastica\Filter\Bool();
            $boolQuery->addMust(new Range('created_at', array(
                'gte' => Util::convertDate($dataSearch['fechaInicial']),
                'lte' => Util::convertDate($dataSearch['fechafinal'])
            )));
            $result= $this->finder->find($boolQuery));
    

    它对我有用! 这里有更多细节! https://openclassrooms.com/forum/sujet/foselasticabundle-1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多