2008-09-17 10 views
7

मैं अपने डेटाबेस के खिलाफ बेहतर खोज क्षमताओं के लिए तंत्र में देख रहा हूं। यह वर्तमान में एक बड़ी बाधा है (लंबे समय तक चलने वाले प्रश्नों का कारण बनता है जो हमारे डेटाबेस प्रदर्शन को नुकसान पहुंचा रहे हैं)।लुसीन के साथ डीबी के खिलाफ सबसे अच्छी तरह से खोज कैसे करें?

मेरा मालिक मुझे Solr में देखना चाहता था, लेकिन करीब निरीक्षण पर, ऐसा लगता है कि हम वास्तव में लुसीन के साथ कुछ प्रकार के डीबी एकीकरण तंत्र चाहते हैं।

Lucene FAQ से, वे Hibernate Search, Compass, और DBSight सलाह देते हैं।

हमारे वर्तमान प्रौद्योगिकी ढेर की पृष्ठभूमि के रूप में, हम सीधे जेएसपी, टॉमकैट, कोई हाइबरनेट पर उपयोग नहीं कर रहे हैं, इसके ऊपर कोई अन्य ढांचा नहीं है ... बस डीबी 2 डेटाबेस के खिलाफ सीधे जावा, जेएसपी और जेडीबीसी।

यह देखते हुए, ऐसा लगता है कि हाइबरनेट खोज हमारे सिस्टम में एकीकृत करने के लिए थोड़ा और कठिन हो सकता है, हालांकि इस तरह के एकीकरण के बाद हाइबरनेट का उपयोग करना अच्छा हो सकता है।

क्या किसी के पास कोई भी उपकरण है जो वे इन उपकरणों में से किसी एक (या अन्य समान ल्यूसीन आधारित समाधान) का उपयोग करके साझा कर सकते हैं जो सही टूल चुनने में मदद कर सकता है?

यह उपकरण सूचित करने के लिए अतिरिक्त प्रयास के बिना, automagicly (हालांकि कुशलता से) डेटाबेस से परिवर्तन के साथ Lucene को अद्यतन करने का प्रबंधन करेगा एक FOSS समाधान होने की जरूरत है, और आदर्श रूप में जब बदलाव किए गए हैं (अन्यथा, यह मेरे अपने Lucene रोलिंग लगता है समाधान उतना ही अच्छा होगा)। साथ ही, हमारे पास केवल 1 डेटाबेस (+ फेलओवर) के साथ कई एप्लिकेशन सर्वर हैं, इसलिए यह अच्छा होगा अगर सभी एप्लिकेशन सर्वरों से समाधान का उपयोग करना आसान हो।

मैं अब विकल्पों का निरीक्षण करना जारी रखता हूं, लेकिन यह अन्य लोगों के अनुभवों का उपयोग करने में वास्तव में सहायक होगा।

+0

क्या आपने कभी लुसीन को शामिल किया है? –

उत्तर

0

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

+0

प्रतिक्रिया के लिए धन्यवाद! दुर्भाग्यवश, मैं वास्तव में देखना चाहता हूं कि ये ढांचे क्या प्रदान कर सकते हैं, इसलिए मुझे अपना स्वयं का पूर्ण समाधान रोल करने की आवश्यकता नहीं है। –

0

खैर, यह DBSight doesn't meet the FOSS requirement लगता है, इसलिए जब तक यह एक बिल्कुल तारकीय समाधान है, यह मेरे लिए एक विकल्प अभी नहीं है ...

2

मैं कम्पास के साथ अच्छा अनुभव था है। यह हाइबरनेट के साथ वास्तव में अच्छा एकीकरण है और हाइबरनेट और जेडीबीसी के माध्यम से सीधे ल्यूसीन इंडेक्स में किए गए डेटा परिवर्तनों को दर्पण कर सकता है, हालांकि इसके जीपीएस डिवाइस http://www.compass-project.org/docs/1.2.2/reference/html/gps-jdbc.html हैं।

आपके सभी एप्लिकेशन सर्वर पर ल्यूसीन इंडेक्स को बनाए रखना एक मुद्दा हो सकता है। यदि आपके पास डीबी अपडेट करने वाले एकाधिक ऐप सर्वर हैं, तो आप इंडेक्स को सभी परिवर्तनों के साथ समन्वयित रखने के साथ कुछ मुद्दों को दबा सकते हैं। कम्पास के पास अब इसे संभालने के लिए एक वैकल्पिक तंत्र हो सकता है।

अल्फ्रेस्को प्रोजेक्ट (सीएमएस) ल्यूसीन का भी उपयोग करता है और इन मुद्दों को संभालने में उपयोगी हो सकता है जो सर्वर के बीच लुसीन इंडेक्स परिवर्तनों को दोहराने के लिए एक तंत्र है।

हमने हाइबरनेट खोज से पहले कम्पास का उपयोग करना शुरू कर दिया था, इसलिए मैं इसके साथ कोई तुलना नहीं कर सकता।

3

जब आप "डीबी के खिलाफ खोज" कहते हैं, तो आपका क्या मतलब है?

रिलेशनल डेटाबेस और सूचना पुनर्प्राप्ति प्रणाली अच्छे कारण के लिए बहुत अलग दृष्टिकोण का उपयोग करती हैं। आप किस प्रकार का डेटा खोज रहे हैं?आप किस तरह के प्रश्न करते हैं?

यदि मैं डेटाबेस के शीर्ष पर एक उलटा इंडेक्स लागू करने जा रहा था, जैसे कि कम्पास करता है, तो मैं उनके दृष्टिकोण का उपयोग नहीं करता, जो एलसीओबी के साथ ल्यूसीन के Directory अमूर्तता को कार्यान्वित करना है। इसके बजाय, मैं लुसेन के IndexReader अमूर्तता को लागू करता हूं।

रिलेशनल डेटाबेस इंडेक्स को बनाए रखने में काफी सक्षम हैं। ल्यूसीन इस संदर्भ में लाता है यह मान इसकी विश्लेषण क्षमताओं है, जो असंगठित पाठ रिकॉर्ड के लिए सबसे उपयोगी हैं। एक अच्छा दृष्टिकोण प्रत्येक उपकरण की ताकत का लाभ उठाएगा।

इंडेक्स में अपडेट किए जाने के बाद, लुसीन अधिक सेगमेंट (अतिरिक्त फाइलें या बीएलओबी) बनाता है, जो एक महंगा "ऑप्टिमाइज़" प्रक्रिया का उपयोग होने तक प्रदर्शन को कम कर देता है। अधिकतर डेटाबेस प्रत्येक इंडेक्स अपडेट पर इस लागत को कम कर देंगे, जिससे आपको अधिक स्थिर प्रदर्शन मिल जाएगा।

1

लुसक्ल http://code.google.com/p/lusql/ आपको एक जेडीबीसी-सुलभ डेटाबेस की सामग्री को लुसीन में लोड करने की अनुमति देता है, जिससे इसे खोजने योग्य बना दिया जाता है। यह अत्यधिक अनुकूलित और बहु ​​थ्रेडेड है। मैं लुसक्ल का लेखक हूं और अगले महीने में एक नए संस्करण (एक नए प्लग-इन आर्किटेक्चर के साथ फिर से आर्किटेक्टेड) ​​के साथ बाहर आ जाएगा।

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

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