2
$mainQuery = new \Elastica\Query\BoolQuery();
$rangeFilter = new Filtered(
$mainQuery,
   new Range('price', array(
         'gte' => $min,
         'lte' => $max
    ))
  );
$data = $finder->search($rangeFilter);

私のコントローラー アクションでは、上記のコードを使用して、elasticsearch データを $min、$max (このコントローラーに渡される変数) の価格の間でフィルター処理しています。どういうわけか、返されたデータがクエリの正しい結果ではありません。

FOSElasticaBundle メソッドを実装するために間違ったメソッドを使用していますか? また、誰かが symfony2 で Elasticsearch を使用する方法、または FOSElasticBundle でクエリを作成する方法に関するいくつかのリンクまたはチュートリアルを共有できれば、非常に役立ちます。

4

1 に答える 1

2

私はそれがこのように動作しました...

 $boolQuery= new  Elastica\Filter\Bool();
        $boolQuery->addMust(new Range('created_at', array(
            'gte' => Util::convertDate($dataSearch['fechaInicial']),
            'lte' => Util::convertDate($dataSearch['fechafinal'])
        )));
        $result= $this->finder->find($boolQuery));

わたしにはできる!こちらに詳細があります! https://openclassrooms.com/forum/sujet/foselasticabundle-1

于 2015-12-07T18:01:30.937 に答える