2011-10-19 10 views
7

मैं एंड्रॉइड और Lucene पर नया हूं। क्या मैं एंड्रॉइड list view में खोज के लिए Lucene का उपयोग कर सकता हूं। मैंने package 2.3.2 आयात करने का प्रयास किया है और लाइब्रेरी में jar फ़ाइलों का भी उपयोग किया है। हालांकि, वहाँ SearchFiles.java त्रुटि में एक त्रुटि है:
The type java.rmi.Remote cannot be resolved. It is indirectly referenced from .class files.एंड्रॉइड में ल्यूसीन

एक संभावना इस फाइल नहीं करता है एंड्रॉयड के लिए मौजूद है। क्या यह समस्या है?

उत्तर

4

मैंने वास्तव में सरल खोज ड्यूट के लिए सफलतापूर्वक लुसीन 3.3 का उपयोग किया है और यह काम करता है। हालांकि, मुझे नहीं पता कि स्मृति उपयोग प्रभाव क्या है। 3.3 में आरएमआई से कोई निर्भरता नहीं है। अगर आपको 2.3.2 की आवश्यकता है और आपके पास स्रोत कोड है तो आप आरएमआई निर्भरता से लुसीन मुक्त कर सकते हैं (मैंने ऐसा करने वाले व्यक्ति के बारे में पढ़ा है)।

+1

आप अपने कोड का हिस्सा बता सकते हैं। मैं लुसीन के लिए नया हूं और एंड्रॉइड प्रोजेक्ट में ल्यूसीन आयात करने के बारे में नहीं जानता हूं। – codemaniac

+0

क्या आप एंड्रॉइड में ल्यूसीन से संबंधित अपना कोड साझा कर सकते हैं, मैं एंड्रॉइड में ल्यूसीन के साथ शुरू करना चाहता हूं। यह मेरे जैसे लोगों के लिए उपयोगी होगा – Prabha1

3

एंड्रॉइड जावा नहीं है - यह सभी स्टैंडआर्ट जावा एपिस प्रदान नहीं करता है (केवल एंड्रॉइड संदर्भ में देखें, java.rmi वहां नहीं है)। हालांकि, लगभग हमेशा के लिए आयात करना संभव है जो शुद्ध जावा है (यदि आपके पास पर्याप्त स्मृति है)। आप अनावश्यक कक्षाओं को हटाने की कोशिश कर सकते हैं जो जार से क्लासलोडिंग समस्याओं का कारण बनते हैं - bu यह बहुत काम है।

5
  1. हटाएं कक्षा "org.apache.lucene.search.Searchable"
  2. हटाएं वर्ग "org.apache.lucene.search.RemoteSearchable"
से "java.rmi.Remote फैली"
+0

मैं कैसे हटा सकता हूं। क्योंकि मेरे पास सभी क्लास फाइलें हैं। भी decompile और recompile करने की कोशिश की लेकिन – dhpratik

9

आप Full Text Search सुविधा FTS3 नामक SQLite में उपयोग कर सकते हैं, जो एंड्रॉइड में उपलब्ध है और यह तेज़ है (क्योंकि यह मूल रूप से चल रहा है) और डाल्विक वीएम के तहत जावा ल्यूसीन कार्यान्वयन की तुलना में कम स्मृति का उपयोग करता है।

+1

काम नहीं कर रहा है मूल रूप से चल रहा है हमेशा तेजी से मतलब नहीं है, खासकर अगर फाइल सिस्टम समर्थित SQLite डेटाबेस का उपयोग कर। क्या आपने इसकी पुष्टि करने के लिए कोई परीक्षण चलाया? –

3

मुझे लगता है कि यह डेमो ऐप आपके लिए काम करेगा।

यह है:

  • तेजी T9 खोज
  • समर्थन 5000 संपर्कों
  • 500 calllogs
संबंधित मुद्दे