मेरे पास एक प्रश्न है जो कुछ 11 स्ट्रिंग या तालिका के टेक्स्ट फ़ील्ड पर ILIKE कर रहा है जो बड़ा नहीं है (500 000), लेकिन स्पष्ट रूप से बहुत बड़ा है, खोज क्वेरी 20 सेकंड लेती है। डाटाबेस पोस्ट 0 हैहाइबरनेट खोज, लुसीन या कोई अन्य विकल्प?
मुझे इस खोज को बहुत तेज होने की आवश्यकता है।
क्या मेरे मन में आया था:
मैं अतिरिक्त TVECTOR स्तंभ सभी स्तंभों की खोज करने की आवश्यकता है से इकट्ठा किए गए, और उस पर पूरा टेक्स्ट सूचकांक बनाया। फुलटेक्स्ट खोज काफी तेज थी। लेकिन ... मैं इस टीवीईक्टर प्रकार को मेरे .hbms में मैप नहीं कर सकता। तो यह विचार गिर गया (किसी भी मामले में मैंने इसे एक अस्थायी समाधान के रूप में और अधिक बताया)।
हाइबरनेट खोज। (आज पहली बार सुनाई दे रहा है) ऐसा प्रतीत होता है, लेकिन मुझे इस पर अनुभवी राय चाहिए, क्योंकि मैं नई एपीआई में नहीं जाना चाहता, संभवतः सबसे आसान नहीं, कुछ ऐसा करने के लिए जो सरल हो सकता है।
Lucene
किसी भी मामले में, यह इस तालिका के साथ अब क्या हुआ है, लेकिन मैं समाधान अधिक सामान्य और पूरा टेक्स्ट खोजों से संबंधित भविष्य के मामलों के लिए आवेदन किया जा करने के लिए करना चाहते हैं।
सभी सलाह की सराहना की!
Thanx
thanx के लिए उपयोग की जाने वाली विशेष तालिका में अपने डेटा को फ़्लैट करने के लिए संग्रहीत प्रक्रियाओं का भी उपयोग कर सकते हैं, एक और छोटा प्रश्न, मैं कुछ स्ट्रिंग फ़ील्ड पर खोज करने में सक्षम होना चाहता हूं। क्या यह अन्य सभी फ़ील्ड को इंडेक्स में भी स्टोर करने का एहसास है, लेकिन खोजने योग्य नहीं है, और फिर जब मैंने मारा है, तो मुझे वहां से वस्तु मिलती है, या मुझे आईडीएस मिलना चाहिए और उन्हें प्राप्त करने के लिए डेटाबेस जाना चाहिए ? – Julia
@ जुलिआ आपको केवल उन फ़ील्ड को इंडेक्स करना चाहिए जिन्हें आप खोजना चाहते हैं। आप हाइबरनेट खोजते हैं कि अनुक्रमित इकाई का @DocumentId (@Id भी) क्या है। इसके बाद हाइबरनेट डेटाबेस के (या सत्र कैश) से इकाई को प्राप्त करने के लिए इस आईडी का उपयोग करेगा, इसके बारे में आप चिंता किए बिना। असल में हाइबरनेट खोज एक खोज स्ट्रिंग लेती है और उस खोज से मेल खाते डोमेन इकाइयों को वापस लाती है। सुट हुह? –
वास्तव में साफ, thanx! – Julia