我正在使用EdgeNGramFilterFactory實現solr通配符搜索。我試圖執行前/後搜索。例如搜索「格式化系統」和「系統格式」以返回相同結果。我已經配置了前EdgeNGramFilterFactory和背部,但只有前「」格式系統」搜索工作沒有回來‘系統格式’。可你有什麼建議是錯誤的或其他任何東西,我錯過這裏?Solr WildCard EdgeNGramFilterFactory搜索前後搜索
這裏是我的配置
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.StopFilterFactory" words="stopwords_en.txt" ignoreCase="true" />
<!-- <filter class="solr.SnowballPorterFilterFactory" language="English" /> -->
<filter class="EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front" />
<filter class="EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="back" />
</analyzer>
</fieldType>
好的,我的要求是搜索文本「系統格式」和「格式系統」應該返回相同的結果。有沒有辦法做到這一點? – sea
也有一種方法可以將搜索詞「A/C」視爲AC,反之亦然? – sea
如果你只想搜索完整的單詞,你可以顛倒他們的訂單,那已經可以直接使用,你不需要NGrams。關於第二個問題,請看[Solr Analyzers wiki](http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters) – javanna