在 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 方法。此外,如果有人可以分享一些链接或教程,了解如何将 elasticsearch 与 symfony2 一起使用,或者如何使用 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
$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 方法。此外,如果有人可以分享一些链接或教程,了解如何将 elasticsearch 与 symfony2 一起使用,或者如何使用 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