我有一个sf2服务,可以在带有foselasticabundle的elasticasearch服务器上发出搜索请求。最初我用过滤器提出了一个请求:
public function findAll()
{
$query = new \Elastica\Query\MatchAll();
$response = new \Elastica\Query\Filtered($query, self::setFilter());
return $response;
}
public function setFilter()
{
$filter = new \Elastica\Filter\Bool();
$filter->addMust(new \Elastica\Filter\Term(array('active' => true)));
return $filter;
}
在我的控制器中,我得到了这个请求的计数:
$search = $this->get("mb.search");
$query = $search->findAll();
$nbOnline = $this->get("fos_elastica.index.xxxx.yy")->count($query);
此代码工作正常。我想添加一个基于数组的过滤器:
$languages = array(1,3,5)
我没有找到在我的查询中添加这个新过滤器的好方法。我希望你能在这个案子上帮助我。提前致谢