我有一个查询来匹配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
答案 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