我的autosuggest中存在solr停用詞問題。所有停用詞都由_符號取代。用_符號替換Solr停用詞
例如我在文本「deal_title」中有文本「簡單文本」。當我嘗試搜索單詞「simple」solr show me next result「_ simple text _」,但我期望「簡單文本」。
有人能解釋我爲什麼這樣工作,以及如何解決它? 這裏是我的schema.xml中的一部分
<fieldType class="solr.TextField" name="text_auto">
<analyzer type="index">
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
<filter class="solr.ShingleFilterFactory" maxShingleSize="3" outputUnigrams="true" outputUnigramsIfNoShingles="false" />
</analyzer>
<analyzer type="query">
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
</analyzer>
</fieldType>
<field name="deal_title" type="text_auto" indexed="true" stored="true" required="false" multiValued="false"/>
<fieldType name="text_general" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="false"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="false"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
我使用的最後Solr的版本,這就是爲什麼我有 4.10.3 luceneMatchVersion>中我的solconfig.xml。看起來我應該降級luceneMatchVersion,因爲它不適用於當前版本(4.10.3)。 –
2015-02-13 10:12:56
它不適用於Solr 4.4及更高版本。在Solr5中它將被刪除。我試圖阻止這一點。 – 2015-02-13 11:01:50
https://issues.apache.org/jira/browse/SOLR-6468 – 2015-02-13 11:19:21