2016-02-24 27 views
0

我們使用Solr來索引一些消費品描述,我們的詞法分析表明放棄長度爲< 4(<filter class="solr.LengthFilterFactory" min="4" max="25" />)的單詞是安全的。我們能夠提供更好的查詢結果。使用Solr長度過濾器,但保留一些單詞

但是,我們錯過了一些有意義的單詞,例如GPS,LCD,LED,我們希望保留這些單詞。

Solr是否提供了一種具有這種功能的過濾器(放棄簡短的單詞,但是如果它進入例外列表中,保留它)?或者我需要專門化LengthFilter來實現我想要的?

我還想過在LengthFilter之前使用SynonymFiler「轉換」令牌(例如:LCD => liquid_crystal_display)。對此解決方案有什麼想法?

TIA,

鮑勃

回答

0

你提的問題是關於一個過濾鏈少於四個字母刪除「幾乎」所有單詞。

您可以使用SynonymFilter這個。你甚至可以在鏈中使用兩個SynonymFilter。首先讓你的話更長,然後切換回原來的。缺點:只有一個SynonymFilter,因爲通配符搜索does not use the filter chain,所以不能使用通配符LC?

其他可能性:使用PatternReplaceFilter用停用詞替換所有「縮短」的單詞,並將StopFilter添加到您的過濾器鏈中(可能用空詞替換就足夠了)。