首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FOSElasticaBundle订单查询

FOSElasticaBundle订单查询
EN

Stack Overflow用户
提问于 2013-07-05 18:41:36
回答 1查看 2.2K关注 0票数 1

我正在将FOSElasticaBundle集成到Symfony 2.3项目中,我需要按价格属性对结果进行排序。

下面是我的代码:

代码语言:javascript
复制
   $finder     = $this->container->get('fos_elastica.finder.website.product');
   $fieldTerms = new \Elastica\Query\Terms();
   $fieldTerms->setTerms('taxon_ids', $taxon_ids_array);
   $boolQuery->addMust($fieldTerms);

   $resultSet = $finder->find($boolQuery);

我怎么能做到这一点?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-06 01:24:35

尝试创建一个\Elastica\Query对象,该对象也包含排序信息,然后将其发送到finder:

代码语言:javascript
复制
$finder = $this->container->get('fos_elastica.finder.website.product');

$fieldTerms = new \Elastica\Query\Terms();
$fieldTerms->setTerms('taxon_ids', $taxon_ids_array);
$boolQuery->addMust($fieldTerms);

$finalQuery = new \Elastica\Query($boolQuery);

$finalQuery->setSort(array('price' => array('order' => 'asc')));

$resultSet = $finder->find($finalQuery);

看看at the elasticsearch docs on the sort parameter,看看如何正确地使用它。

注意:\Elastica\Query\Elastica\Query\AbstractQuery有很大的不同,前者封装了可以发送到_search端点的所有内容(facet、排序、解释等)。AbstractQuery表示每个单独查询类型(范围、模糊、术语等)的基本类型。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17486974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档