2017-01-03 15 views
5

में कुछ "भौतिक दृश्य" जैसा कि मेरे पास एक क्वेरी है जो हर बार वेबसाइट लोड होने पर चलती है। यह प्रश्न तीन अलग-अलग टर्म-फ़ील्ड और लगभग 3 मिलियन दस्तावेज़ों से अधिक है और इसलिए इसे पूरा करने के लिए 6-7 सेकंड की आवश्यकता है। डेटा अक्सर बदलता नहीं है और परिणाम की वर्तमानता महत्वपूर्ण नहीं है।लोचदार खोज

मुझे पता है कि मैं आरडीएमएस दुनिया में कुछ "दृश्य" बनाने के लिए उपनाम का उपयोग कर सकता हूं। क्या इसे पॉप्युलेट करना भी संभव है, इसलिए क्वेरी परिणाम कैश हो जाता है? क्या इस परिदृश्य में कोई अन्य तरीका कैशिंग मदद कर सकता है या क्या मुझे समेकित डेटा के लिए अतिरिक्त अनुक्रमणिका बनाना है और इसे समय-समय पर अपडेट करना है?

+0

कुल मिलाकर 3 मिलियन दस्तावेज़ वास्तव में बहुत कुछ नहीं है। इसलिए यह जानना अच्छा लगेगा कि आपकी क्वेरी चलाने में 6-7 सेकंड क्यों लगते हैं और शायद इसे पहले अनुकूलित करें। – Val

+0

ठीक है, मैं यह कैसे करूँगा? मैंने slowlogs सक्षम किया, लेकिन आप मुझे ज्यादा जानकारी नहीं देते हैं। क्वेरी काफी सरल है, इस तरह के तीन क्षेत्रों के लिए 'aggs' कर रही है:' "aggFieldName": {"terms": {"field": "myField", "size": 0}}, ' – nik

+1

सबसे पहले आप' कुछ अंतर्दृष्टि प्राप्त करने के लिए अपनी क्वेरी में = true' समझाएं। फिर आप अपने एग्रीगेशंस प्रोफाइलिंग के लिए [प्रोफाइल एपीआई] (https://www.elastic.co/guide/en/elasticsearch/reference/current/_profiling_aggregations.html) का भी उपयोग कर सकते हैं – Val

उत्तर

-1

आप भौतिक दृश्य बनाते हैं। यह एक सारणी है जिसमें अंततः समेकित कार्यों का डेटा होता है। चूंकि आपने समेकित डेटा पहले ही डाला है, अब जब आप इसे पूछते हैं, तो यह तेज़ होगा। मुझे लगता है कि कैश करने की कोई ज़रूरत नहीं है। मैंने एमवी भी बनाए हैं, यह प्रदर्शन को काफी हद तक बेहतर बनाता है। यह कहकर कि आप लोचदार खोज के लिए भी जा सकते हैं, साथ ही यदि आपका डेटा अक्सर बदल नहीं रहा है तो आप समेकित प्रश्नों को कैश कर सकते हैं। मुझे लगता है कि एमवी और लोचदार खोज समान प्रदर्शन देती है।

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