MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

जावा - मोंगोडीबी + सोलर प्रदर्शन

आपका दृष्टिकोण वास्तव में अच्छा है। कंपास जैसे कुछ लोकप्रिय ढांचे ओआरएम ढांचे के माध्यम से किए गए इंडेक्स परिवर्तनों को स्वचालित रूप से प्रतिबिंबित करने के लिए निचले स्तर पर आपके द्वारा वर्णित प्रदर्शन कर रहे हैं (देखें http://www.compass-project.org/overview.html)।

आप जो वर्णन करते हैं उसके अलावा, मैं सोलर और मोंगो दोनों को समन्वयित करने के लिए मोंगोडीबी में रहने वाले सभी डेटा को नियमित रूप से पुन:अनुक्रमित करता हूं (शायद तब तक नहीं जब तक आप सोच सकते हैं, दस्तावेज़ की संख्या के आधार पर, फ़ील्ड की संख्या, प्रति फ़ील्ड टोकन की संख्या और एनालाइज़र का प्रदर्शन :मैं अक्सर जटिल एनालाइज़र के साथ 15 मिनट से भी कम समय में 5 से 8 मिलियन दस्तावेज़ (लगभग 20 फ़ील्ड, लेकिन टेक्स्ट फ़ील्ड कम) से इंडेक्स बनाता हूँ, बस सुनिश्चित करें आपका RAM बफ़र बहुत छोटा नहीं है और जब तक सभी दस्तावेज़ जोड़े नहीं जाते तब तक प्रतिबद्ध/अनुकूलित न करें)।

प्रदर्शन के संबंध में, एक प्रतिबद्धता महंगी है और एक अनुकूलन बहुत महंगा है। आपके लिए जो सबसे अधिक मायने रखता है, उसके आधार पर आप Solrconfig.xml में मर्जफैक्टर का मान बदल सकते हैं (उच्च मान लिखने के प्रदर्शन में सुधार करते हैं जबकि कम मान पढ़ने के प्रदर्शन में सुधार करते हैं, शुरू करने के लिए 10 एक अच्छा मूल्य है)।

ऐसा लगता है कि आप इंडेक्स बिल्ड टाइम से डरते हैं। हालांकि, चूंकि लुसीन इंडेक्स स्टोरेज सेगमेंट-आधारित है, इसलिए राइट थ्रूपुट इंडेक्स के आकार (http://lucene.apache.org/java/2_3_2/fileformats.html) पर बहुत अधिक निर्भर नहीं होना चाहिए। हालांकि, वार्म-अप का समय बढ़ जाएगा, इसलिए आपको यह सुनिश्चित करना चाहिए कि

  • आपके solrconfig.xml कॉन्फ़िग फ़ाइल में विशिष्ट (विशेष रूप से फ़ील्ड कैश लोड करने के क्रम में सॉर्ट करने के लिए) लेकिन बहुत जटिल क्वेरीज़ नहीं हैं
  • useColdSearcher पर सेट है
    • अच्छे खोज प्रदर्शन के लिए गलत, या
    • सच है यदि आप चाहते हैं कि धीमी खोज की कीमत पर सूचकांक में किए गए परिवर्तनों को तेजी से ध्यान में रखा जाए।

इसके अलावा, यदि यह आपके लिए स्वीकार्य है यदि डेटा मोंगोडीबी को लिखे जाने के बाद केवल कुछ एक्स मिलीसेकंड खोजने योग्य हो जाता है, तो आप UpdateHandler की कमिटविथ सुविधा का उपयोग कर सकते हैं। इस तरह सोलर को कम बार कमिट करना पड़ेगा।

सोलर प्रदर्शन कारकों के बारे में अधिक जानकारी के लिए, देखेंhttp://wiki.apache.org/solr/SolrPerformanceFactors

दस्तावेज़ों को हटाने के लिए, आप या तो दस्तावेज़ आईडी (स्कीमा.एक्सएमएल में परिभाषित) या क्वेरी द्वारा हटा सकते हैं :http://lucene.apache.org/solr/api/org/apache/solr/client/solrj/SolrServer.html



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में प्रत्येक वार्तालाप के अंतिम संदेश को सूचीबद्ध करना, जिसमें एक उपयोगकर्ता शामिल है

  2. MongoDb आईडी की सरणी का उपयोग करके एकाधिक दस्तावेज़ कैसे प्राप्त करें?

  3. mongoDB उपसर्ग वाइल्डकार्ड:फुलटेक्स्ट-सर्च ($ टेक्स्ट) सर्च-स्ट्रिंग के साथ भाग खोजें

  4. 'MongoDB 3.0 में सॉकेट फ़ाइल त्रुटि को अनलिंक करने में विफल'

  5. मोंगोडीबी $पॉप