我有一個關於lucene的tokenfilters順序的問題。例如,如果我想擁有以下過濾器,那麼lucene使用這些過濾器的順序是什麼?什麼是lucene的tokenFilters命令?
1- LowerCaseFilter 貓=>貓
2- TrimFilter 貓! =>貓
3-的StopFilter 貓=>貓
4- LengthFilter
5- StemmerFilter
6- SynonymFilter
我無法找到任何文件,解釋該序列。
我有一個關於lucene的tokenfilters順序的問題。例如,如果我想擁有以下過濾器,那麼lucene使用這些過濾器的順序是什麼?什麼是lucene的tokenFilters命令?
1- LowerCaseFilter 貓=>貓
2- TrimFilter 貓! =>貓
3-的StopFilter 貓=>貓
4- LengthFilter
5- StemmerFilter
6- SynonymFilter
我無法找到任何文件,解釋該序列。
過濾器的訂購取決於您的需求。但是,您的訂購看起來很合理。
應該注意,我不相信TrimFilter
會執行您指定的操作。 TrimFilter
修飾令牌中的空格,而不是標點符號。大多數Tokenizers不需要這個過濾器。
TrimFilter和LowerCaseFilter通常會提前使用,以便對單詞內容進行操作的過濾器不必處理大小寫或空白。
StopFilter和LengthFilter的操作方式相似,我通常在使用它們之前使用它們。被StopFilter移除的單詞通常是非常原子的,所以在Stemmer之前應用它是有道理的。在stemmer之後應用這些過濾器可能會導致丟失有意義的干擾,但您並不打算這麼做。如果你做希望你的StopFilter操作干擾詞,它當然需要在Stemmer之後。
Stemmer之後是否出現SynonymFilter絕對取決於您的需求。繼Stemmer之後的SynonymFilter通常會更有用,但將要求您使用它們的詞幹形式定義同義詞
非常感謝。你幫了很多忙。 –