001 package railo.runtime.search.lucene2.analyzer; 002 003 import java.io.Reader; 004 005 import org.apache.lucene.analysis.Analyzer; 006 import org.apache.lucene.analysis.TokenStream; 007 import org.apache.lucene.analysis.snowball.SnowballAnalyzer; 008 009 010 /** 011 * <p>Analyzer for Portuguese language</p> 012 * <p><a href="PortugueseAnalyzer.java.html"><i>View Source</i></a></p> 013 * <p/> 014 * 015 * @author Andrey Grebnev <a href="mailto:andrey.grebnev@blandware.com"><andrey.grebnev@blandware.com></a> 016 * @version $Revision: 1.3 $ $Date: 2005/02/24 19:51:22 $ 017 */ 018 public final class PortugueseAnalyzer extends Analyzer { 019 020 private static SnowballAnalyzer analyzer; 021 022 private String PORTUGUESE_STOP_WORDS[] = { 023 024 "a", "ainda", "alem", "ambas", "ambos", "antes", 025 "ao", "aonde", "aos", "apos", "aquele", "aqueles", 026 "as", "assim", "com", "como", "contra", "contudo", 027 "cuja", "cujas", "cujo", "cujos", "da", "das", "de", 028 "dela", "dele", "deles", "demais", "depois", "desde", 029 "desta", "deste", "dispoe", "dispoem", "diversa", 030 "diversas", "diversos", "do", "dos", "durante", "e", 031 "ela", "elas", "ele", "eles", "em", "entao", "entre", 032 "essa", "essas", "esse", "esses", "esta", "estas", 033 "este", "estes", "ha", "isso", "isto", "logo", "mais", 034 "mas", "mediante", "menos", "mesma", "mesmas", "mesmo", 035 "mesmos", "na", "nas", "nao", "nas", "nem", "nesse", "neste", 036 "nos", "o", "os", "ou", "outra", "outras", "outro", "outros", 037 "pelas", "pelas", "pelo", "pelos", "perante", "pois", "por", 038 "porque", "portanto", "proprio", "propios", "quais", "qual", 039 "qualquer", "quando", "quanto", "que", "quem", "quer", "se", 040 "seja", "sem", "sendo", "seu", "seus", "sob", "sobre", "sua", 041 "suas", "tal", "tambem", "teu", "teus", "toda", "todas", "todo", 042 "todos", "tua", "tuas", "tudo", "um", "uma", "umas", "uns"}; 043 044 /** 045 * Creates new instance of SpanishAnalyzer 046 */ 047 public PortugueseAnalyzer() { 048 analyzer = new SnowballAnalyzer("Portuguese", PORTUGUESE_STOP_WORDS); 049 } 050 051 public PortugueseAnalyzer(String stopWords[]) { 052 analyzer = new SnowballAnalyzer("Portuguese", stopWords); 053 } 054 055 public TokenStream tokenStream(String fieldName, Reader reader) { 056 return analyzer.tokenStream(fieldName, reader); 057 } 058 }