मैं जो हासिल करना चाहता हूं: मैं चाहता हूं कि मेरी "आयु" एकत्रीकरण क्वेरी फ़िल्टर द्वारा फ़िल्टर न किया जाए और मैं इसे फ़िल्टर लागू करने में सक्षम होना चाहता हूं।एक elasticsearch वैश्विक एकत्रीकरण को फ़िल्टर करने के लिए कैसे?
तो मैं इस प्रश्न के साथ शुरू करता है, तो:
{
"query":{
"filtered":{
"filter":{ "terms":{ "family_name":"Brown" } } //filter_1
}
},
"aggs":{
"young_age":{
"filter":{
"range":{ "lt":40, "gt":18 } //filter_2
},
"aggs":{
"age":{
"terms":{
"field":"age"
}
}
}
}
}
}
मेरे एकत्रीकरण "young_age" दोनों FILTER_1 और filter_2 द्वारा फ़िल्टर कर दिया जाएगा। मैं नहीं चाहता कि मेरा एकत्रीकरण फ़िल्टर_1 द्वारा फ़िल्टर किया जाए।
जैसा कि मैंने प्रलेखन में देख रहा था, मैंने सोचा था कि वैश्विक एकत्रीकरण मेरी समस्या का समाधान होता है, और मुझे लगता है कि क्वेरी ने लिखा है:
"" ":
{
"query":{
"filtered":{
"filter":{ "terms":{ "family_name":"Brown" } } //filter_1
}
},
"aggs":{
"young_age":{
"global":{}, //<----------- add global
"filter":{
"range":{ "lt":40, "gt":18 } //filter_2
},
"aggs":{
"age":{
"terms":{
"field":"age"
}
}
}
}
}
}
लेकिन तब लोचदार खोज मेरा filter_2 के बारे में शिकायत
0: मिले दो एकत्रीकरण प्रकार परिभाषाओं में [आयु] [वैश्विक] और [फिल्टर] "" "और निश्चित रूप से अगर मैं filter_2 को दूर
{
"query":{
"filtered":{
"filter":{
"terms":{
"family_name":"Brown"
}
}
}
},
"aggs":{
"young_age":{
"global":{},
"aggs":{
"age":{
"terms":{
"field":"age"
}
}
}
}
}
}
तब मेरा एकत्रीकरण फ़िल्टर_1 (अपेक्षित के रूप में) द्वारा फ़िल्टर नहीं किया जाएगा।
तो मुझे लगता है कि मैं अपने वैश्विक एकत्रीकरण में फ़िल्टर_2 लागू करने का अनुमान कैसे लगा सकता हूं? या मैं इसे कैसे प्राप्त करना चाहता हूं? मुझे पहलू फिल्टर के साथ कुछ लिखना याद है ...
का उपयोग कर वह काम करेगा आपकी क्वेरी तय, लेकिन वास्तव में मैं कई मिल गया है है एकत्रीकरण और उनमें से केवल एक फ़िल्टर_1 द्वारा फ़िल्टर नहीं किया जाना चाहिए। तो आपके समाधान के साथ इसका मतलब है कि मुझे उन एग्रीगेशंस के लिए post_filter को दोहराना होगा जो मुझे थोड़ा परेशान लगता है (और शायद प्रदर्शन के दृष्टिकोण से भी अच्छा नहीं है?) – adrienbourgeois
@adrienbourgeois मैंने वैश्विक एकत्रीकरण का उपयोग करके क्वेरी तय की है, चलो मुझे पता है कि यह आपके लिए काम करता है :) – moliware
धन्यवाद दोस्त यह एक आकर्षण की तरह काम कर रहा है! मैंने आपका जवाब स्वीकार कर लिया है। चीयर्स – adrienbourgeois