मेरे पास 3 स्तरों में माता-पिता / बच्चे की संरचना है। हम कहते हैं:
कंपनी -> कर्मचारी -> उपलब्धता
चूंकि उपलब्धता (और कर्मचारी भी) अक्सर यहां अपडेट की जाती है, मैं नेस्टेड के खिलाफ माता-पिता / बच्चे की संरचना का उपयोग करता हूं। और खोज फ़ंक्शन ठीक काम करता है (सभी दस्तावेज़ सही शार्क में)।
अब मैं उन परिणामों को क्रमबद्ध करना चाहता हूं। कंपनी (प्रथम स्तर) के मेटा डेटा द्वारा उन्हें क्रमबद्ध करना आसान है। लेकिन मुझे तीसरे स्तर (उपलब्धता) के हिसाब से भी छांटना होगा।
मैं उन कंपनियों की सूची चाहता हूं जो निम्न प्रकार से हैं:
- स्थान से दूरी ASC दी
- रेटिंग DESC
- जल्द ही उपलब्धता ए.एस.सी.
उदाहरण के लिए:
कंपनी A 5 मील दूर है, रेटिंग 4 है और जल्द ही उनका एक कर्मचारी 20 घंटे में उपलब्ध है। कंपनी B 5 मील दूर भी है, रेटिंग 4 भी है लेकिन जल्द ही उनका एक कर्मचारी 5 घंटे में उपलब्ध है।
इसलिए सॉर्ट परिणाम बी, ए होना चाहिए।
मैं इस डेटा में से प्रत्येक के लिए विशेष वजन जोड़ना चाहूंगा, इसलिए मैंने एकत्रीकरण लिखना शुरू कर दिया, जिसे मैं बाद में अपनी custom_score स्क्रिप्ट में उपयोग कर सकता था।
सूचकांक बनाने, डेटा आयात करने और
अब खोज करने के लिए पूर्ण जिस्ट , मैं एक क्वेरी लिखने में कामयाब रहा हूं जो वास्तव में वापस परिणाम देता है, लेकिन उपलब्धता एकत्रीकरण बाल्टी खाली है। हालाँकि, मैं परिणाम भी वापस संरचित कर रहा हूँ, मैं उन्हें समतल करना चाहूँगा।
वर्तमान में मैं वापस मिल गया:
कंपनी आईडीएस -> कर्मचारी आईडीएस -> पहली उपलब्धता
मैं चाहता हूं कि एकत्रीकरण हो:
कंपनी आईडीएस -> पहली उपलब्धता
इस तरह मैं custom_score
स्कोर की गणना करने और उन्हें ठीक से सॉर्ट करने के लिए अपनी स्क्रिप्ट करने में सक्षम हूं ।
अधिक सरलीकृत प्रश्न:
बहु स्तरीय (भव्य) बच्चों द्वारा किसी प्रकार को कैसे क्रमबद्ध / एकत्र किया जा सकता है और परिणाम को संभवत: समतल कर सकता है।