繁体   English   中英

在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);

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

我是否使用错误的方法来实现 FOSElasticaBundle 方法。 另外,如果有人可以分享一些关于如何在 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM