2017-11-11 268 views
1

我有闊葉很奇怪的問題Solr的搜索,請參閱下面的屏幕截圖 enter image description hereApache Solr實現建議,建議您只在搜索詞已經丟失最後一個字符

這裏是我使用錯誤的拼寫搜索術語「mesur」,然後solr搜索提供拼寫更正結果,但查看結果所有結果似乎都有最後一個字符缺失。

現在看到下面的第二截屏 enter image description here

現在我已經附加「E」的搜索字詞和它的「MESURE」現在那麼它不提供任何結果具有良好的Solr經驗的任何一個幫助我特別是爲什麼solr在建議中失去了最後一個字符?

+0

請分享十有二的schema.xml和solrconfig.xml中的一部分/建議請求處理程序 – Mysterion

回答

0

我已經改變schema.xml中解決我的問題,我在與字段類型的問題,以前是作爲跟隨

<fieldType name="text_general_partial" class="solr.TextField"> 
     <analyzer type="index"> 
      <tokenizer class="solr.StandardTokenizerFactory" /> 

      <!-- Partial Word matcher --> 
      <filter class="solr.NGramFilterFactory" minGramSize="3" 
       maxGramSize="1000" /> 
      <filter class="solr.ReverseStringFilterFactory" /> 

      <filter class="solr.NGramFilterFactory" minGramSize="3" 
       maxGramSize="1000" /> 
      <filter class="solr.ReverseStringFilterFactory" /> 
      <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> 

      <filter class="solr.LowerCaseFilterFactory" /> 
      <filter class="solr.TrimFilterFactory" /> 
      <filter class="solr.SnowballPorterFilterFactory" language="English" /> 
     </analyzer> 
     <analyzer type="query"> 
      <tokenizer class="solr.StandardTokenizerFactory" /> 
      <filter class="solr.WordDelimiterFilterFactory" 
       generateWordParts="1" generateNumberParts="1" catenateWords="0" 
       catenateNumbers="0" catenateAll="0" splitOnCaseChange="0" /> 

      <filter class="solr.LowerCaseFilterFactory" /> 
      <filter class="solr.TrimFilterFactory" /> 
      <filter class="solr.SnowballPorterFilterFactory" language="English" /> 
     </analyzer> 
    </fieldType> 

但我已經改爲如下所示,現在工作正常

<fieldType name="text_general_partial" class="solr.TextField"> 
     <analyzer type="index"> 
      <tokenizer class="solr.StandardTokenizerFactory" /> 

      <!-- Partial Word matcher --> 
      <filter class="solr.NGramFilterFactory" minGramSize="3" 
       maxGramSize="1000" /> 
      <filter class="solr.ReverseStringFilterFactory" /> 

      <filter class="solr.NGramFilterFactory" minGramSize="3" 
       maxGramSize="1000" /> 
      <filter class="solr.ReverseStringFilterFactory" /> 
      <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> 
      language="English" /> 
     </analyzer> 
     <analyzer type="query"> 
      <tokenizer class="solr.StandardTokenizerFactory" /> 
      <filter class="solr.WordDelimiterFilterFactory" 
       generateWordParts="1" generateNumberParts="1" catenateWords="0" 
       catenateNumbers="0" catenateAll="0" splitOnCaseChange="0" />language="English" /> 
     </analyzer> 
    </fieldType> 

去除過濾器按照XML架構和現在做工精細