2009-02-15 16 views
8

क्या मैं मल्टीफिल्ल्डक्वायरर्स में विभिन्न कारकों के साथ विभिन्न फ़ील्ड को बढ़ा सकता हूं? इसके अलावा, अधिकतम बूस्टर कारक मूल्य क्या है जो मैं किसी फ़ील्ड को असाइन कर सकता हूं?मल्टीफ़िल्ल्डवर्कर में बूस्ट कारक

धन्यवाद एक टन! एड

उत्तर

12

MultiFieldQueryParser में एक [निर्माता] [1] है जो बूस्ट के मानचित्र को स्वीकार करता है। आप कुछ इस तरह के साथ उपयोग करें:

String[] fields = new String[] { "title", "keywords", "text" }; 
HashMap<String,Float> boosts = new HashMap<String,Float>(); 
boosts.put("title", 10); 
boosts.put("keywords", 5); 
MultiFieldQueryParser queryParser = new MultiFieldQueryParser(
    fields, 
    new StandardAnalyzer(), 
    boosts 
); 

अधिकतम बढ़ावा के लिए के रूप में, मुझे यकीन है कि नहीं कर रहा हूँ, लेकिन आप निरपेक्ष दृष्टि से बढ़ावा के बारे में वैसे भी लगता है नहीं करना चाहिए। बस बूस्ट के अनुपात का उपयोग करें जो समझ में आता है। this question भी देखें।

[1]: https://lucene.apache.org/core/4_4_0/queryparser/org/apache/lucene/queryparser/classic/MultiFieldQueryParser.html#MultiFieldQueryParser(org.apache.lucene.util.Version, java.lang.String [], org.apache.lucene.analysis.Analyzer, java.util.Map)

+0

हाय, Lucene आपके उत्तर के लिए धन्यवाद .... उपयोग कर रहा हूँ .NET संस्करण 2.0.0.4 मुझे मल्टीफ़िल्ल्डक्वायरर कन्स्ट्रक्टर बूस्ट मानों को स्वीकार नहीं करता है। MultiFieldQueryParser multiFieldQueryParser = नया MultiFieldQueryParser (फ़ील्ड्स, _analyzer); क्या मुझे पता है कि आप किस लुसेन संस्करण का उपयोग कर रहे हैं? धन्यवाद। –

+0

बूस्ट पैरामीटर केवल लुसीन 2.4 में उपलब्ध था। यदि आप अपग्रेड नहीं कर सकते हैं तो आप कोड को अपने MyMutliFieldQueryParser में कॉपी करने पर विचार कर सकते हैं। यह इतना कोड नहीं है। – itsadok

+0

आपको जावा से कोड पोर्ट करना पड़ सकता है ... मुझे lucene.net का स्रोत कोड ऑनलाइन नहीं मिला (svn.apache.org एटीएम नीचे है)। – itsadok

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