2013-10-21 55 views
0

我有一個數據庫,裏面有音樂作品,一個標題的例子可以是「我看見靈魂」。什麼是Solr的LengthFilterFactory的良好用例?

現在,我正在使用配置了LengthFilterFactory的字段爲音樂作品編制索引,以過濾掉少於2個字符和超過255個字符的字詞。當然,這在「我看見靈魂」中過濾掉了「我」和「A」,因此得到的索引文件將保持標題「見靈魂」。因此,由於用戶無法搜索「I See A Soul」,因此這並不能產生理想的效果。所以,我刪除了LengthFilterFactory。

但是,我很好奇:在什麼情況下去掉某些長度的單詞會是一個好主意?

+0

你應該看看CommonGramsFilterFactory - http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.CommonGramsFilterFactory – arun

回答

1

問題是您也可以將相同的過濾器應用於查詢。 因此,如果用戶搜索「我看到靈魂」或「看到靈魂」或「看到靈魂」,他仍然會找到相同的結果。

另一個想法可能是,如果你有一個要求,直到他們輸入至少3個字母(例如自動完成功能)才允許用戶搜索,你可能不想索引少於3個字母的單詞因爲他們不會被反搜查。

相關問題