मैंने एक ही प्रश्न के सभी उत्तरों को पढ़ा और मैं कोई स्पष्ट नहीं हूं कि मुझे अपने उपयोग के लिए उपयोग क्यों करना चाहिए और क्यों। दोनों एक ही परिणाम लौटते हैं। मैं समझता हूं कि "फ़िल्टरक्वियर को समग्र क्वेरी समय तेज़ी से कैश किया जाएगा", जैसा किसी ने सही ढंग से उत्तर दिया था।सोलर मुख्य क्वेरी बनाम fq
मैं यह भी समझता हूं कि "फ़िल्टरिंग पहलुओं की टैगिंग को भी अनुमति देता है, ताकि आप अपनी क्वेरी के लिए लौटाए गए सभी पहलुओं को शामिल करने के लिए पहलुओं को टैग कर सकें", जैसे कि किसी और ने भी सही उत्तर दिया।
जो मुझे यह समझ में नहीं आता है, यही कारण है कि कोई भी क्यू का उपयोग करेगा, क्योंकि एफक्यू मेरे द्वारा देखे गए सभी उत्तरों और पुस्तकों के आधार पर इतना बेहतर प्रतीत होता है।
छोड़कर, मुझे यकीन है कि शायद एक कारण है कि दोनों मौजूद हैं।
मुझे यह पता लगाना है कि मेरे उपयोग के मामले में सबसे अच्छा क्या है - दस्तावेज़ीकरण में उपयोगी उदाहरणों में कमी है।
- मेरे दस्तावेजों: तारीख, ग्राहक, रिपोर्ट, और कुछ अन्य क्षेत्रों
- 1 व्यवसाय तारीख = 35 लाख दस्तावेजों।
- दस्तावेजों की कुल संख्या 250 मिलियन है और गिनती (60 तिथियां * 8000 ग्राहक * रिपोर्ट के 1000s)
- मैं दिनांक, ग्राहक, रिपोर्ट पर पहलू करता हूं, और मैं पहलुओं की टैगिंग का उपयोग करता हूं।
- यूआई समग्र रूप से किसी भी ई-कॉमर्स साइट की तरह दिखता है, उदाहरण: अमेज़ॅन, बाईं ओर के पहलुओं के साथ।
- स्कोरिंग का उपयोग नहीं किया जाता है।
व्यवसाय नियम # 1: तारीख हमेशा प्रत्येक क्वेरी में उपस्थित रहनी चाहिए।
व्यवसाय नियम # 2: 99% प्रश्न नवीनतम तारीख का उपयोग करने जा रहे हैं, लेकिन रैंडम क्लाइंट और यादृच्छिक रिपोर्ट।
एक तथ्य: हमने यह निर्धारित किया है कि यह धीमा है, खोज नहीं कर रहा है।
प्रश्न:
को देखते हुए इस खोज मापदंड है, और इन तरीकों से एक प्रश्न लिखने के लिए:
ए) q = तारीख: 20,130,214 और ग्राहक: जो & facet.field = तारीख & facet.field = ग्राहक ...
बी) q = तारीख: 20,130,214 & fq = ग्राहक: जो & facet.field = तारीख & facet.field = ग्राहक ...
012,सी) q = ग्राहक: जो & fq = तारीख: 20,130,214 & facet.field = तारीख & facet.field = ग्राहक ...
डी) q = *: * & fq = तारीख: 20,130,214 & fq = ग्राहक: जो & facet.field = तारीख & facet.field = ग्राहक ...
- जो ऊपर की आप सबसे अच्छा और क्यों होगा लगता है?याद रखें, एफक्यू फ़िल्टरिंग में 20130214
- के खिलाफ सबसे अधिक प्रश्न चलने जा रहे हैं, और फिर क्यू शर्त लागू होती है, या दूसरी तरफ?
आज, मेरे पास डी है) सभी मामलों में उपयोग किया जाता है, लेकिन मुझे संदेह है कि यह गलत है और ओओएम सोलर (संस्करण 3.6) में कारण बन रहा है।
आपकी मदद के लिए धन्यवाद!
आपके उत्तर के लिए धन्यवाद। अगर मैं fq = 20130214 और q = क्लाइंट कहता हूं: Paige, क्या इसका मतलब यह है कि सोलर को पहले क्लाइंट के लिए 250 मिलियन दस्तावेज़ स्कैन करना होगा: Paige और फिर उन्हें फ़िल्टर करने के लिए केवल 20130214 को छोड़ दें? यदि ऐसा है, तो क्या यह तिथि (3.5 मिलियन डॉक्स) के लिए सबकुछ ढूंढने के लिए और अधिक कुशल नहीं होगा और फिर ग्राहक के आधार पर फ़िल्टर करें? और यहां तक कि बड़ा सवाल: मैं कैसे कह सकता हूं, क्योंकि ऐसे कोई उपकरण नहीं हैं जो दोनों परिदृश्यों को आजमाने की अनुमति देते हैं। –
हां, मुख्य खोज निष्पादित होने के बाद फ़िल्टर क्वेरी निष्पादित की जाएगी। लेकिन आपके दस्तावेज़ संख्याओं के आधार पर, आप उन्हें चारों ओर स्विच करना चाहेंगे और 'q = 20130214 और fq = क्लाइंट: Paige' जैसा कि आप जानते हैं कि आपको केवल तारीख के साथ 3.5 मिलियन दस्तावेज़ों की खोज करने की आवश्यकता होगी और फिर उन्हें सही क्लाइंट वापस करने के लिए फ़िल्टर करें । सही दृष्टिकोण निर्धारित करने के लिए कठिन और तेज़ नहीं है, यह जरूरतों और परिदृश्य पर निर्भर करता है। परीक्षण प्रश्नों के लिए उपकरण तक, मैं अत्यधिक सोलरमीटर की सिफारिश करता हूं - http://code.google.com/p/solrmeter/ –
धन्यवाद Paige। आपने दो अलग-अलग उत्तरों (व्यवसाय नियम और संख्याओं के आधार पर) में अलग-अलग उत्तर दिया, इसलिए मैंने अपना मूल प्रश्न स्पष्ट किया। क्या आप फिर से देख सकते हैं। इसके अलावा, सोलरमीटर यह नहीं दिखाता कि सोलर क्वेरी को संसाधित करने के बारे में कैसे जाता है- यह कैश कैसा दिखता है, किस क्रम में, यह क्या पाता है, आदि। यदि आप Sybase (या किसी भी RDBMS) से परिचित हैं, तो मैं एक की तलाश में हूं पर 'सेट शोप्लान' के बराबर धन्यवाद, -डेट्री। –