2016-08-24 3 views
0

Ich benutze Elasticsearch in meinem Projekt. Mein Elasticsearch Abfrage, wie das ist:Kann nicht zwei oder mehr Filter mit Elasticsearch verwenden

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 
          ) 
         ) 
        ) 
       ) 
      ) 
     ) 
    ) 
) 

Als ich einen der Filter Begriffe entfernen beispielsweise fk_product_group es perfekt funktioniert, aber wenn Gebrauch beiden Filter wir fatale Fehler mit Code 400 Bad Anfrage.

Antwort

0

Jeder Filter muss in seinem eigenen term Filter sein

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

Danke. Es ist Arbeit. – nagiyevel

Verwandte Themen