के साथ डिफ़ॉल्ट संयोजन को कैसे बदलें मेरे पास ल्यूसीन का उपयोग करके कुछ कोड है जो डिफ़ॉल्ट संयोजन ऑपरेटर को OR के रूप में छोड़ देता है, और मैं इसे और बदलना चाहता हूं। कुछ कोड सिर्फ एक सादा क्वेरीपर्स का उपयोग करते हैं, और यह ठीक है - मैं बस उन उदाहरणों पर setDefaultOperator को कॉल कर सकता हूं।ल्यूसीन मल्टीफिल्ल्डक्वायर पार्सर
दुर्भाग्य से, एक ही स्थान पर कोड एक MultiFieldQueryParser का उपयोग करता है, और स्थिर "पार्स" विधि कॉल (स्ट्रिंग ले रही है, String [], BooleanClause.Occur [], विश्लेषक), तो ऐसा लगता है कि setDefaultOperator मदद नहीं कर सकता, क्योंकि यह एक उदाहरण विधि है।
क्या एक ही पार्सर का उपयोग जारी रखने का कोई तरीका है लेकिन डिफ़ॉल्ट संयोजन बदल गया है?
यह अच्छा धन्यवाद है। गायब कदम यह था कि बाद में ओकुर मानों को कैसे कॉन्फ़िगर करें। एक अन्य दृष्टिकोण जिसके साथ मैं बात कर रहा हूं वह यह है कि MultiFieldQueryParser.parse के लिए कोड छोटा है, इसलिए मैं इसे अपने एप्लिकेशन में पेस्ट कर सकता हूं और इसे संशोधित कर सकता हूं। यह QueryParser उदाहरण स्वयं बनाता है, इसलिए मैं इसे डिफ़ॉल्ट ऑपरेटर सेट करने के लिए बस इसे ट्विक कर सकता हूं। –
लूप के लिए पुनरावृत्त के भीतर, आप प्रति फ़ील्ड संयोजन को बदलने के लिए निम्नलिखित का भी उपयोग कर सकते हैं: क्वेरीरीसर पार्सर = नया क्वेरीपर्सर (संस्करण .YOUR_VERSION, फ़ील्ड [i], नया आपका विश्लेषक()); parser.setDefaultOperator (QueryParser.Operator.and); clause.setQuery (parser.parse (clause.getQuery()। ToString (फ़ील्ड [i]))); – Ina