foselasticabundleを使用してelasticasearchサーバーで検索リクエストを行うsf2サービスがあります。最初に、フィルターを使用してリクエストを作成しました:
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)
この新しいフィルターをクエリに追加する良い方法も見つかりませんでした。この件でお役に立てれば幸いです。前もって感謝します