2011-11-29 10 views
7

की गलतफहमी मैं एक प्रश्न है कि इस तरह दिखता है:क्वेरी डीएसएल - फिल्टर

{ 
    "query": { 
    "constant_score": 
     "filter": { 
     "missing": { 
      "field": "parent_id" 
     } 
     } 
    } 
}, 
"size": limit, 
"from": offset 
} 

मेरे प्रकार एक parent_id और एक wall_id क्षेत्र है। मैं इस क्वेरी को कैसे संशोधित कर सकता हूं ताकि मैं उन सभी प्रकारों को प्राप्त कर सकूं जिनके पास parent_id नहीं है और wall_id नहीं है? मैं इसे दस्तावेज़ों से समझने के लिए प्रतीत नहीं कर सकता। किसी भी मदद की पेशकश के लिए धन्यवाद!

अद्यतन

मैं निम्न क्वेरी कि काम करता है, लेकिन मैं शीर्षक पर मोहक query पसंद नहीं है। वहाँ एक "मोहक जोड़े बिना यह करने के लिए एक रास्ता है

{ 
    "query":{ 
    "filtered":{ 
    "query":{ 
     "field":{ "title":"*" } 
    }, 
    "filter":{ 
     "and":{ 
      "filters":[ 
       { 
       "missing":{ "field":"parent_id" } 
       }, 
       { 
       "missing":{ "field":"wall_id" } 
       } 
      ] 
     } 
    } 
    } 
}, "size":10, "from":0 
} 

उत्तर

7

आप बहुत करीब हैं, तो आप सिर्फ अपने constant_score क्वेरी के तहत and फिल्टर का उपयोग करने की आवश्यकता है?

{ 
    "query": { 
    "constant_score": { 
     "filter": { 
     "and":[ 
      { "missing":{ "field":"parent_id" }}, 
      { "missing":{ "field":"wall_id" }} 
     ] 
     } 
    } 
    } 
} 
+0

वाह, यह है बहुत अच्छी चीजें। मुझे "फ़िल्टर" संपत्ति के चारों ओर घुंघराले ब्रेसिज़ जोड़ना पड़ा, लेकिन यह काम करता है। धन्यवाद! बीटीडब्लू, यह प्रारूप इतना जटिल है, क्या elasticsearch.org डॉक्स के अलावा अच्छे दस्तावेज का स्रोत है? – swatkins

+0

ओह, धन्यवाद मुझे कोई अन्य संसाधन नहीं है जिसे मैं जानता हूं, लेकिन आप प्रस्तुत प्रस्तुति के लिए स्लाइड देखना चाह सकते हैं: http://www.elasticsearch.org/tutorials/2011/08/28/ क्वेरी-डीएसएल-समझाया गया इसके अलावा, मुझे नहीं पता कि आप किस क्लाइंट का उपयोग ईएस से बात करने के लिए कर रहे हैं, लेकिन यदि आप पर्ल से परिचित हैं, तो सर्चबिल्डर पर एक नज़र डालें, जो अधिक कॉम्पैक्ट अधिक पर्ल है 'आईएसएच सिंटैक्स जिसे मानक ईएस क्वेरी डीएसएल में अनुवादित किया जाता है: https://metacpan.org/module/ElasticSearch::SearchBuilder – DrTech

+0

मैं node.js और elasticsearchclient मॉड्यूल का उपयोग कर रहा हूं। यह एक बड़ी मदद है। धन्यवाद! – swatkins

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