2014-09-29 19 views

risposta

12

Sì, la sintassi della query filtrata è un po 'macchinosa. AFAIK dovrebbe apparire così:

{ 
    "query":{ 
     "filtered":{ 
     "query":{ 
      "query_string":{ 
       "query":"Declared" 
      } 
     }, 
     "filter":{ 
      "term":{ 
       "language_id":10 
      } 
     } 
     } 
    } 
} 
+0

ho cercato il formato, ma non funziona, i filtri funzionano meglio nel formato @ risposta Kévin s'. Si prega di dare un'occhiata – minocha

+0

Ah che era un errore di battitura, risolto – Ashalynd

3

Mi dispiace Ashalynd ma il filtro non è posizionato nel posto giusto nella risposta.

Si tratta di lavorare meglio:

{ 
    "query":{ 
     "filtered":{ 
     "query":{ 
      "query_string":{ 
       "query":"Declared" 
      } 
     }, 
     "filter":{ 
      "term":{ 
       "language_id":10 
      } 
     } 
     } 
    } 
} 
+0

è questo che funziona e non quello menzionato da @Ashalynd .. è stato di grande aiuto, grazie! – minocha

5

Nella versione 5.2, query filtrata è sostituito dalla query bool, e restituisce l'errore sul mio elastico 5.2 esempio. Vedi here.

La nuova sintassi è:

{ 
    "query":{ 
     "bool":{ 
     "must":{ 
      "query_string":{ 
       "query":"...query..." 
      } 
     }, 
     "filter":{ 
      "term":{ 
       "language_id":10 
      } 
     } 
     } 
    } 
} 
Problemi correlati