排序查询 Fos Elastica

Sorting a Query Fos Elastica

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

此排序查询代码:

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

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

生成此错误:

Error: Wrong parameters for Exception([string $exception [, long $code [, Exception $previous = NULL]]])

我在 post 之前尝试了很多东西,但错误总是一样。

弹性搜索:5.2.2

FosElasticaBundle:3.2.2

PHP : 5.6.30

Symfony:2.8

这个错误意味着ES、Elastica和FosElasticBundle之间不兼容。警告 ES 和基地 PHP 实验室 Elastica...

这段代码运行完美:

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

弹性搜索:1.7.4

FosElasticaBundle:3.2.2

PHP : 5.6.30

Symfony:2.8