2015-09-09 6 views
23

elasticsearch संस्करण 1.4.5elasticsearch/kibana 4: क्षेत्र मौजूद है, लेकिन एक मूल्य

kibana 4.1.1

logstash के बराबर नहीं है 1.5.2-1

मैं एक किस तरह तैयार करूँ किबाना 4 के खोज टैब में खोजें जो केवल फ़ील्ड मौजूद है, लेकिन केवल एक विशिष्ट मान के बराबर नहीं है?

मैं logstash में कुछ अपाचे लॉग डेटा है और मैं सभी प्रविष्टियों है status_code परिभाषित लेकिन 200 तो अगर संभावित मान हैं {अपरिभाषित, 200, 403, 404, 500, आदि} मैं के बराबर नहीं लौटना चाहते

+status_code: (*) -status_code: (200) 

((status_code: (*) AND NOT status_code: (200)) 

मैं भी संदर्भ देखें: 4xx के सभी वेरिएंट और 5xx त्रुटियों नहीं बल्कि संदेशों जहां क्षेत्र से परिभाषित नहीं है और इसे करने के लिए 200

मैं निम्नलिखित की कोशिश की है सेट कर दिया जाता है, जहां नहीं देखना चाहेंगे elasticsearch curl queries पर, लेकिन मुझे यकीन नहीं है कि उन्हें उन चीज़ों में कैसे बदलना है जिन्हें मैं किबाना में उपयोग कर सकता हूं मार्च बार यहां एक उदाहरण दिया गया है:

{ 
    "query": { 
    "constant_score": { 
     "filter": { 
     "bool": { 
      "must": { 
      "exists": { 
       "field": "status_code" 
      } 
      }, 
      "must_not": { 
      "term": { 
       "status_code": '200' 
      } 
      } 
     } 
     } 
    } 
    } 
} 

धन्यवाद!

उत्तर

44

क्वेरी आप देख रहे हैं इस से एक है:

_exists_:status_code AND NOT status_code:200 

This link आप सभी क्या क्वेरी स्ट्रिंग प्रश्नों द्वारा समर्थित है पता चलता है।

5

पिछले जवाब ठीक है, लेकिन यह भी उपयोगी हो सकता है कि मैं क्या करने के लिए कहा:

status_code:[300 TO 600] 
संबंधित मुद्दे