मुझे ल्यूसीन की राम डायरेक्टरी का उपयोग कब करना चाहिए? अन्य भंडारण तंत्र पर इसके फायदे क्या हैं? अंत में, मुझे एक साधारण कोड उदाहरण कहां मिल सकता है?RAMDirectory का उपयोग
उत्तर
जब आप अपने इंडेक्स डेटा को स्थायी रूप से स्टोर नहीं करना चाहते हैं। मैं परीक्षण उद्देश्यों के लिए इसका उपयोग करता हूं। अपने RAMDirectory में डेटा जोड़ें, RAMDir में अपने यूनिट परीक्षण करें।
उदा।
public static void main(String[] args) {
try {
Directory directory = new RAMDirectory();
Analyzer analyzer = new SimpleAnalyzer();
IndexWriter writer = new IndexWriter(directory, analyzer, true);
या
public void testRAMDirectory() throws IOException {
Directory dir = FSDirectory.getDirectory(indexDir);
MockRAMDirectory ramDir = new MockRAMDirectory(dir);
// close the underlaying directory
dir.close();
// Check size
assertEquals(ramDir.sizeInBytes(), ramDir.getRecomputedSizeInBytes());
// open reader to test document count
IndexReader reader = IndexReader.open(ramDir);
assertEquals(docsToAdd, reader.numDocs());
// open search zo check if all doc's are there
IndexSearcher searcher = new IndexSearcher(reader);
// search for all documents
for (int i = 0; i < docsToAdd; i++) {
Document doc = searcher.doc(i);
assertTrue(doc.getField("content") != null);
}
// cleanup
reader.close();
searcher.close();
}
आमतौर पर अगर चीजें RAMDirectory के साथ बाहर काम करते हैं, यह अन्य लोगों के साथ काफी होगा काम ठीक। यानी आपकी अनुक्रमणिका को स्थायी रूप से स्टोर करने के लिए।
इसके लिए वैकल्पिक FSDirectory है। आपको इस मामले में फाइल सिस्टम अनुमतियों का ख्याल रखना होगा (जो RAMDirectory के साथ मान्य नहीं है)
कार्यात्मक रूप से, FSDirectory पर RAMDirectory का कोई विशिष्ट लाभ नहीं है (तथ्य यह है कि RAMDirectory FSDirectory से स्पष्ट रूप से तेज़ होगा)। वे दोनों सर्वर दो अलग-अलग जरूरतों को पूरा करते हैं।
- RAMDirectory -> प्राथमिक स्मृति
- FSDirectory -> माध्यमिक स्मृति
सुंदर समान & हार्ड डिस्क राम को।
मुझे यकीन नहीं है कि RAMDirectory के साथ क्या होगा यदि यह स्मृति सीमा से अधिक है। System.SystemException
फेंक दिया: मैं एक
OutOfMemoryException सिवाय चाहते हैं।
हाय, आपकी प्रतिक्रिया के लिए धन्यवाद ... FSDirectory पर RAMDirectory का उपयोग करने का क्या फायदा है? और, अगर सूचकांक का आकार रैम मेमोरी से अधिक हो तो क्या होगा? – Jimmy
किसी ऑब्जेक्ट के आकार में 2 जीएम सीमा है। यदि आपकी रैमडिरेकोट्री उस से अधिक है, तो आपके पास बहुत सारी रैम होने पर भी आउटऑफमेमरी अपवाद प्राप्त होगा। – Barka
- 1. RAMDirectory
- 2. डिस्क पर वापस Lucene.Net RAMDirectory कैसे लिखें?
- 3. IndexNotFoundException अगर IndexSearcher खाली RAMDirectory पर बुलाया
- 4. का उपयोग
- 5. Holo.Light थीम का उपयोग कैसे करें, लेकिन एक्शनबार का उपयोग होलो साथ आईसीएस का उपयोग करें?
- 6. "जहां का उपयोग करना; अस्थायी का उपयोग करना; फाइलों का उपयोग करना"
- 7. फाइल्सोर्ट का उपयोग mysql में एक बुरा विचार का उपयोग कर अस्थायी का उपयोग कर?
- 8. वर का उपयोग करना या वर का उपयोग नहीं कर
- 9. जेसनपाथ का उपयोग कर सी # उदाहरण का उपयोग कैसे करें?
- 10. कोर का उपयोग करने के लिए अभिनेताओं का उपयोग
- 11. log4c का उपयोग कर रोलिंग लॉग का उपयोग कैसे करें?
- 12. लिंक का उपयोग किए बिना libtool का उपयोग
- 13. टेलीफ़ोन नंबर का उपयोग कक्षा का उपयोग क्या है?
- 14. जेड 3 का उपयोग Z3 का उपयोग एसएटी सॉल्वर
- 15. 'IServiceProvider` का उपयोग किस ढांचे का उपयोग करता है?
- 16. से छुटकारा "अस्थायी का उपयोग करना; filesort का उपयोग करना"
- 17. लॉगिंग का उपयोग प्रिंटिंग का उपयोग प्रिंट करें
- 18. गैर मानक निर्देशिका लेआउट का उपयोग कर मेवेन का उपयोग
- 19. क्या सी # का उपयोग कथन का उपयोग कर सुरक्षित है?
- 20. उलझन का उपयोग कर "का उपयोग" वक्तव्य सी #
- 21. फ़ाइलों का उपयोग प्रतिबंधित करने के लिए .htaccess का उपयोग
- 22. अपने विचारों का उपयोग किये बिना सुरक्षित सेवाओं का उपयोग
- 23. कोशिश का उचित उपयोग ..
- 24. का उपयोग जावा
- 25. CoTaskMemAlloc का उपयोग?
- 26. एसएसई निर्देशों का उपयोग
- 27. सी # नए का उपयोग []
- 28. का उपयोग will_paginate
- 29. JQuery का उपयोग करना -
- 30. कचरा संग्रह का उपयोग?
आंतरिक रूप से यह फ़ाइलों की व्यवस्था करने के लिए एक concurrenthasmap का उपयोग करता है। – Njax3SmmM2x2a0Zf7Hpd