在symfony2项目中使用elasticsearch进行范围过滤查询


Range Filter Query with elasticsearch in a symfony2 project

$mainQuery = new 'Elastica'Query'BoolQuery();
$rangeFilter = new Filtered(
$mainQuery,
   new Range('price', array(
         'gte' => $min,
         'lte' => $max
    ))
  );
$data = $finder->search($rangeFilter);

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

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

我是这样做的…

 $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