Solr自动完成,ngram忽略空格和上部后置

时间:2015-08-19 14:42:34

标签: solr sitecore

我有标题字符串字段:

word 111
word 222
word XYZ
word YNX

我在索引中有下一个设置索引

<fieldType name="auto_complete" class="solr.TextField" positionIncrementGap="100">
         <analyzer type="index">
             <tokenizer class="solr.StandardTokenizerFactory" />
             <!-- <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> -->
             <filter class="solr.WordDelimiterFilterFactory" 
              generateWordParts="1" 
              generateNumberParts="1"
              catenateWords="1"
              catenateNumbers="1"
              catenateAll="1"
              splitOnCaseChange="1"
              splitOnNumerics="1"
              preserveOriginal="1" />
             <filter class="solr.LowerCaseFilterFactory" />
             <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="40" />
             <filter class="solr.PatternReplaceFilterFactory" pattern="([^\w\d\*æøåÆØÅ ])" replacement="" replace="all"/>
         </analyzer>
         <analyzer type="query">
             <tokenizer class="solr.StandardTokenizerFactory" />
              <filter class="solr.WordDelimiterFilterFactory" 
              generateWordParts="0" 
              generateNumberParts="0"
              catenateWords="0"
              catenateNumbers="0"
              catenateAll="0"
              splitOnCaseChange="0"
              splitOnNumerics="0"
        />
             <!-- <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
             <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" /> -->
             <filter class="solr.LowerCaseFilterFactory" />
             <filter class="solr.PatternReplaceFilterFactory" pattern="([^\w\d\*æøåÆØÅ ])" replacement=" " replace="all"/>
         </analyzer>
    </fieldType>

我可以通过它搜索 如果输入,我会得到结果 wo,wor,word,11,111 等 但如果键入,我无法获得结果 单词XYZ 或仅XYZ 如何激活使用空格和大写自动完成的选项?

0 个答案:

没有答案