के साथ कई फ़ील्ड खोजना उपयोगकर्ताओं को लुसीन 3.5 के साथ कई फ़ील्ड में खोजने की अनुमति देने के लिए वर्तमान में DisjunctionMaxQuery पर प्रत्येक फ़ील्ड को खोजने के लिए QueryParser जोड़ें और जोड़ें। या का उपयोग डिफ़ॉल्ट ऑपरेटर के रूप में करते समय यह बहुत अच्छा काम करता है लेकिन अब मैं अधिक सटीक (और कम) परिणाम प्राप्त करने के लिए डिफ़ॉल्ट ऑपरेटर को और में बदलना चाहता हूं।लुसीन: डिफ़ॉल्ट ऑपरेटर = और
समस्या है, queryParser.setDefaultOperator(QueryParser.AND_OPERATOR)
कई दस्तावेजों को याद करता है क्योंकि सभी शर्तें कम से कम 1 फ़ील्ड में होनी चाहिए।
उदाहरण के लिए, दस्तावेज़ के लिए निम्न डेटा पर विचार करें: शीर्षक फ़ील्ड = "प्रोग्रामिंग भाषाएं", बॉडी फ़ील्ड = "जावा, सी ++, PHP"। यदि कोई उपयोगकर्ता जावा प्रोग्रामिंग खोजना चाहता था तो इस विशेष दस्तावेज़ को परिणामों में शामिल नहीं किया जाएगा क्योंकि शीर्षक और न ही शरीर के क्षेत्र में क्वेरी में सभी शर्तें शामिल हैं, हालांकि वे संयुक्त करते हैं। मैं चाहता हूं कि यह दस्तावेज़ उपरोक्त क्वेरी के लिए वापस लौटाए लेकिन क्वेरी एचटीएमएल प्रोग्रामिंग के लिए नहीं।
मैंने एक पकड़ क्षेत्र माना है लेकिन मुझे इसके साथ कुछ समस्याएं हैं। सबसे पहले, उपयोगकर्ता अक्सर अपने प्रश्नों (लेखक: बिल) में प्रति फ़ील्ड शर्तों को शामिल करते हैं जो कैचॉल फ़ील्ड के साथ संभव नहीं है। इसके अलावा, मैं फास्ट वेक्टर हाइलाइटर के साथ कुछ फ़ील्ड को हाइलाइट करता हूं जिसके लिए उन्हें अनुक्रमित और संग्रहीत करने की आवश्यकता होती है। तो एक कैचल फील्ड जोड़कर मुझे उसी डेटा के दो बार इंडेक्स करना होगा जो समय और स्थान लेने वाला है।
कोई विचार?
कैचॉल फ़ील्ड को अनुक्रमणित करने के संबंध में, क्या आपने समय/स्पेस हिट देखी है जो चिंता का कारण है? मेरा अनुभव एक विशिष्ट संग्रहित फ़ील्ड में एक ही डेटा को अनुक्रमणित कर रहा है, और उसके बाद एक सामान्यीकृत इंडेक्स-केवल फ़ील्ड में जोड़ना प्रदर्शन या अनुक्रमणिका आकार पर बहुत कम प्रभाव डालता है। – femtoRgon
इसके अलावा, मुझे आश्चर्य है कि अंत क्वेरी की संरचना कैसी दिखती है। विशेष रूप से, कैसे अधिकतम प्रश्न सेट अप किए जाते हैं। उनके साथ सार्थक स्कोर प्राप्त करने की अपनी क्षमता को मारना आसान है। – femtoRgon
@femtoRgon disjunctionMaxQuery संरचना इस तरह है: '(शीर्षक: जावा शीर्षक: प्रोग्रामिंग) | (शरीर: जावा बॉडी: प्रोग्रामिंग)) ~ 0.2' आप एक अच्छा मुद्दा लाते हैं कि एक पकड़ने वाले क्षेत्र को जोड़ने से अब तक बहुत कम प्रभाव पड़ सकता है/अंतरिक्ष चिंतित है। मैंने निश्चित रूप से इसे माना लेकिन इसके खिलाफ फैसला किया क्योंकि मैं क्षेत्र द्वारा खोज करने की क्षमता को भी रखना चाहूंगा, जैसे लेखक: बिल। न केवल उपयोगकर्ता इस सुविधा का उपयोग करते हैं बल्कि मैं दृश्यों के पीछे इसका उपयोग करता हूं। धन्यवाद। –