2010-06-18 12 views
7

लुसीन रीयल-टाइम इंडेक्सिंग प्राप्त करने का सबसे अच्छा तरीका क्या है?लुसीन रीयल-टाइम इंडेक्सिंग?

+1

वास्तविक समय अनुक्रमण क्या है? क्या आप कुछ और बता सकते हैं जो आप खोज रहे हैं। –

+0

इस पर और सोलर पर काम करने में 2 साल बिताए जाने के बाद, मुझे कहना है: जब रीयलटाइम इंडेक्सिंग की बात आती है तो सोलर सही प्लेटफार्म नहीं है। बड़ी इंडेक्स पर कमियां बहुत भारी हैं - मैंने बड़े इंस्टॉलेशन के बारे में सुना है जो प्रति घंटे 1 प्रतिबद्धता का प्रबंधन कर सकते हैं। ऐसा कहा जा रहा है कि ल्यूकंद्रा नामक एक हालिया परियोजना का वादा किया जा सकता है - मुझे अब कोई दस्तावेज़ नहीं मिल रहा है, लेकिन मैंने सोचा कि मैंने कुछ करने की आवश्यकता के बारे में कुछ सुना है। http://github.com/tjake/Lucandra#readme –

+1

आपको और अधिक व्याख्या करना है - "वास्तविक समय" के लिए कोई विशिष्ट अर्थ नहीं है: कम से कम आपको यह निर्दिष्ट करने की आवश्यकता है कि स्वीकार्य देरी क्या होगी। सॉफ्ट रीयलटाइम (जैसे, दिखाने के लिए अपडेट के लिए 5-10 सेकंड लगते हैं) उदाहरण के लिए गैर-विशाल इंडेक्स के लिए कठिन नहीं है। – StaxMan

उत्तर

4

इंडेक्स लेखक से इंडेक्स रीडर प्राप्त करें।

अद्यतन: ऐसा लगता है कि मौजूदा विधि open a directory reader using an index writer ऑब्जेक्ट की तरह है। http://wiki.apache.org/lucene-java/NearRealtimeSearch

+0

रीयल-टाइम इंडेक्सिंग के साथ यह कैसे मदद करेगा? – Mikos

+3

किसी प्रतिबद्ध बिंदु से पहले दस्तावेज़ ढूंढने की अनुमति देकर। लेखक से प्राप्त पाठक लगातार अद्यतन किया जाता है क्योंकि दस्तावेज़ जोड़े जाते हैं। –

+1

इंडेक्स रीडर रीडर = indexWriter.getReader() करने का प्रयास करते समय; इंडेक्सवाइटर प्रकार से विधि getReader() विधि दिखाई नहीं दे रहा है। http://lucene.apache.org/core/4_7_2/core/org/apache/lucene/index/IndexWriter.html?is-external=true –

2

कोशिश ज़ोइ

http://sna-projects.com/zoie/

+0

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

1

Lucene विकि में कुछ जानकारी है। यह अभी भी बहुत नया है, लेकिन NoSQL भावना में वितरित सौर सूचकांक प्रदान करेगा।

8

लुसीन की एक सुविधा है जो वास्तव में इस आवश्यकता को हल करने के लिए पास-रीयल-टाइम खोज कहलाती है।

यह आवश्यक है कि आपका इंडेक्स रीडर आपके इंडेक्सवाइटर के समान JVM में है।

आप IndexWriter साथ परिवर्तन करें, और उसके बाद लेखक IndexReader.open (लेखक), का उपयोग करने से या पर सीधे एक पाठक खोलने के पुराने Lucene विज्ञप्ति writer.getReader()। यह कॉल आमतौर पर बहुत तेज़ होगा (पाठक को आखिरी बार खोलने के बाद से आपने कितने बदलाव किए हैं) के रूप में यह आमतौर पर पाठक खोलने के लिए आवश्यक महंगी प्रतिबद्धता को छोड़ देता है। यह लेखक में अपरिवर्तनीय परिवर्तनों को खोजने में सक्षम है।

यह पाठक अभी भी लेखक से एक पॉइंट-इन-टाइम स्नैपशॉट खोजता है, यानी जब आप इसे खोलते हैं तो सभी परिवर्तन होते हैं।

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