2016-08-24 10 views
0

私のプロジェクトではElasticsearchを使用しています。 マイElasticsearchクエリはそのようなものです:私は例fk_product_group用のフィルタ条件のいずれかを削除するとElasticsearchで2つ以上のフィルタを使用することはできません

Array(
    [index] => galaxy 
    [type] => galaxy 
    [size] => 1000 
    [from] => 0 
    [body] => Array(
     [query] => Array(
      [filtered] => Array(
       [query] => Array(
        [query_string] => Array(
         [default_operator] => AND 
         [query] => vestel* 
        ) 
       ) 
       [filter] => Array(
        [bool] => Array(
         [must] => Array(
          [term] => Array(
           [fk_product_category] => 1 
           [fk_product_group] => 1 
          ) 
         ) 
        ) 
       ) 
      ) 
     ) 
    ) 
) 

それは完璧に動作しますが、使用の両方のフィルタは、私は、コード400不正な要求で致命的なエラーを取得するとき。

答えて

0

各フィルタはありがとう独自のtermフィルタ

Array(
    [index] => galaxy 
    [type] => galaxy 
    [size] => 1000 
    [from] => 0 
    [body] => Array(
     [query] => Array(
      [filtered] => Array(
       [query] => Array(
        [query_string] => Array(
         [default_operator] => AND 
         [query] => vestel* 
        ) 
       ) 
       [filter] => Array(
        [bool] => Array(
         [must] => Array(
          Array(
           [term] => Array(
            [fk_product_category] => 1 
           ) 
          ), 
          Array(
           [term] => Array(
            [fk_product_group] => 1 
           ) 
          ) 
         ) 
        ) 
       ) 
      ) 
     ) 
    ) 
) 
+0

でなければなりません。それは仕事です。 – nagiyevel

関連する問題