2015-05-21 10 views
8

अपनी क्वेरी इस तरह है:Elasticsearch शर्तों फिल्टर उठाने "फिल्टर का समर्थन नहीं करता [mediatest]"

{ 
    "query": { 
    "filtered": { 
     "filter": { 
     "bool": { 
      "must": [ 
      { 
       "term": { 
       "online": 1 
       } 
      }, 
      { 
       "terms": { 
       "mediaType": "flash" 
       } 
      } 
      ] 
     } 
     } 
    } 
    } 
} 

यह एक QueryParsingException [[comos_v2] [संदर्भ] फिल्टर का समर्थन नहीं करता [MediaType उठाना] ], जिसमें से क्षेत्र "मीडिया टाइप" मैपिंग में बिल्कुल मौजूद नहीं है। मेरा प्रश्न यह है कि टर्म फ़िल्टर अपवाद क्यों नहीं बढ़ाता है?

उत्तर

16

उपरोक्त एक मान्य क्वेरी डीएसएल नहीं है।

{ 
    "query": { 
    "filtered": { 
     "filter": { 
     "bool": { 
      "must": [ 
      { 
       "term": { 
       "online": 1 
       } 
      }, 
      { 
       "terms": { 
       "mediaType": ["flash"] 
       } 
      } 
      ] 
     } 
     } 
    } 
    } 
} 
+0

मुझे मिल गया: उपरोक्त Terms filter मूल्यों में करने के लिए "MediaType" क्षेत्र एक सरणी

यह निम्न होना चाहिए होना चाहिए! बहुत बहुत धन्यवाद। –

+0

बस स्पष्ट करने के लिए: क्या सही क्वेरी "टर्म" के बजाय "मीडिया टाइप" मान के साथ "शर्तों" फ़िल्टर का उपयोग नहीं करनी चाहिए? –

+0

@ ब्रैंडन ब्राउन ने आपके दाएं जवाब देने के लिए उत्तर धन्यवाद संपादित किया है – keety

संबंधित मुद्दे