elasticsearch - Elastic search data aggregation -
इंडेक्स में निम्न उदाहरण का प्रकार होने:
{"_index": "aggs_20141028" , "_type": "एगॉग्ज", "_id": "4 एएनपीडी 7zlR5eTdA7o2I898A", "_version": 1, "_score": 1, "_source": {"यूज़रआईड": 4, "बनाया": "2014-10-28 टी 0 9 : 40: 22.0652362 +02: 00 "," पथ ":" पथ 0 "," इंटप्रॉप 1 ": 1," इंटप्रॉप 2 ": 87," इंटप्रॉप 3 ": 903," बूलप्रॉप 1 ": गलत," बूलप्रॉप 2 ": सच है," बूलप्रॉप 3 ": स्ट्रिंगप्राप 1": "स्ट्रिंगप्राइप_6", "स्ट्रिंगप्राप 2": "स्ट्रिंगप्राइप_6", "स्ट्रिंगप्राप 3": "स्ट्रिंगप्रोप_3"}}
निम्न उपयोग के लिए इसमें डेटा को कैसे एकत्र करें
मूल एई दस्तावेज़ीकरण समझने में काफी मुश्किल है ...
आपके डेटा में कोई फ़ील्ड स्टार्टगेट नहीं है - मैं यह मान रहा हूं कि आपका मतलब है कि बनाया गया है? आपके पास तीन बुलप्राफ़ फ़ील्ड हैं जो सभी बुलियन हैं - यह स्पष्ट नहीं है कि आप उन्हें कैसे गिनना चाहते हैं, उदा। क्या आप भरोसा कर रहे हैं कि क्या वे वर्तमान, सच्चे, आदि हैं?
आकार फ़ील्ड आपके डेटा के आकार पर निर्भर करेगा और ट्यूनिंग की आवश्यकता होगी।
यहां बताया गया है कि मैं कैसे पहली आवश्यकता:
कर्ल -XGET 'http: // localhost: 9200 / aggs_20141028 / aggobj / _search? सुंदर' -d '{"एग्स": {"date_filter_agg": {"filter" : {"शब्द": {"बनाया गया": "2014-10-28 टीटी 9: 40: 22.0652362 + 02: 00"}}, "एग्स": {"user_agg": {"terms": {"size": 0, "फ़ील्ड": "UserId"}, "एग्री": {"date_agg": {"date_agg": {"date_hg"): {"field": "created", "interval": "month"}, "एग्स": {"BoolProp_count": {"Sum": {"स्क्रिप्ट": "(डॉक्टर [\" बुलप्रॉप 1 \ "] मूल्य == \" टी \ "? 1: 0) + (डॉक्टर [\" बुलप्रोप 2 \ "]। Value == \" T \ "? 1: 0) + (डॉक्टर [\" BoolProp3 \ "]। Value == \" T \ "? 1: 0)"}}}}}}}}}}}} '
< / पूर्व>महत्वपूर्ण बातों को नोट करने के लिए -
- दिनांक फ़िल्टर पहले प्रकट होता है और आपकी सभी खोजों को चालू होता है
- परिणामों को तब UserId द्वारा समूहीकृत किया जाता है, फिर
- मासिक बाल्टी में बने डेटा द्वारा समूहीकृत किया जाता है पिछला क्षेत्र वह मान है जिसे आप चाहते हैं
- लौटा दिया गया मूल्य अंतिम, अर्थात् सत्य बूलप्रोप फ़ील्ड की गणना।
अन्य आवश्यकताओं के उत्तर बहुत समान होने चाहिए।
Comments
Post a Comment