2011-04-01 13 views

उत्तर

13

सबसे आसान तरीका सभी खोज योग्य सामग्री, साथ ही प्रश्नों को कम करना है। LowerCaseFilter दस्तावेज़ीकरण देखें। यदि आप Analyzer को बाईपास करते हैं तो आप Wildcard केस असंवेदनशील खोज के लिए भी उपयोग कर सकते हैं।

यदि आप पसंद करते हैं तो आप विभिन्न केस कॉन्फ़िगरेशन को कैप्चर करने के लिए विभिन्न फ़ील्ड में सामग्री स्टोर कर सकते हैं।

+0

एक पंक्ति या नमूना स्रोत कोड के दो आपका जवाब पूरा –

5

StandardAnalyzerLowerCaseFilter लागू करता है जो "शब्द" और "शब्द" को समान बना देगा। आप इसे IndexWriter और QueryParser के अपने उपयोगों में आसानी से पास कर सकते हैं। जैसे कुछ लाइन के टुकड़े:

Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_30); 
IndexWriter writer = new IndexWriter(dir, analyzer, true, mlf); 
QueryParser parser = new QueryParser(Version.LUCENE_30, field, analyzer); 
1

जोड़ें LowerCaseFilterFactory Schema.xml में उस क्षेत्र के लिए अपने fieldType करने के लिए। उदाहरण के लिए,

<fieldType name="text" class="solr.TextField" positionIncrementGap="100"> 
      <analyzer type="index"> 
       <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
       <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" /> 
       <filter class="solr.LowerCaseFilterFactory"/> 
      </analyzer> 

      <analyzer type="query"> 
       <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
       <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/> 
       <filter class="solr.LowerCaseFilterFactory"/> 
      </analyzer> 
     </fieldType> 
+0

महान जवाब कर सकते हैं लेकिन सवाल Lucene है, जो एक स्कीमा Solr की तरह नहीं है के बारे में है –

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