排序查询Fos Elastica

时间:2017-03-10 18:13:42

标签: foselasticabundle

我有一个查询来匹配ElasticSearch中的所有产品。它运行perfeclty但我想为此查询添加一个Sort。我找不到运行的例子,我不明白为什么会产生错误。

此代码用于排序查询:

        $match = new \Elastica\Query\MatchAll();

        $query = new \Elastica\Query($match);
        $query->addSort([
            'product.price' => ['order' => 'asc']
        ]);
        return $this->find($query);

生成此错误:

  

错误:Exception的参数错误([string $ exception [,long $ code   [,Exception $ previous = NULL]]])

我在发布之前尝试了很多东西,但错误始终是一样的。

ElasticSearch :5.2.2

FosElasticaBundle :3.2.2

PHP :5.6.30

Symfony :2.8

1 个答案:

答案 0 :(得分:0)

此错误表示ES,Elastica和FosElasticBundle之间存在不兼容性。警告ES和基础PHP labrary Elastica ...

此代码完美运行:

$query = new Query();
$queryRange = new \Elastica\Query\Range('product.price', array('gt' => 0, 'lt' => 20));
$query->setQuery($queryRange);
return $this->find($query);

ElasticSearch :1.7.4

FosElasticaBundle :3.2.2

PHP :5.6.30

Symfony :2.8