package railo.runtime.search.lucene2.analyzer;
import java.io.Reader;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.snowball.SnowballAnalyzer;
/**
* <p>Analyzer for Portuguese language</p>
* <p><a href="PortugueseAnalyzer.java.html"><i>View Source</i></a></p>
* <p/>
*
* @author Andrey Grebnev <a href="mailto:andrey.grebnev@blandware.com"><andrey.grebnev@blandware.com></a>
* @version $Revision: 1.3 $ $Date: 2005/02/24 19:51:22 $
*/
public final class PortugueseAnalyzer extends Analyzer {
private static SnowballAnalyzer analyzer;
private String PORTUGUESE_STOP_WORDS[] = {
"a", "ainda", "alem", "ambas", "ambos", "antes",
"ao", "aonde", "aos", "apos", "aquele", "aqueles",
"as", "assim", "com", "como", "contra", "contudo",
"cuja", "cujas", "cujo", "cujos", "da", "das", "de",
"dela", "dele", "deles", "demais", "depois", "desde",
"desta", "deste", "dispoe", "dispoem", "diversa",
"diversas", "diversos", "do", "dos", "durante", "e",
"ela", "elas", "ele", "eles", "em", "entao", "entre",
"essa", "essas", "esse", "esses", "esta", "estas",
"este", "estes", "ha", "isso", "isto", "logo", "mais",
"mas", "mediante", "menos", "mesma", "mesmas", "mesmo",
"mesmos", "na", "nas", "nao", "nas", "nem", "nesse", "neste",
"nos", "o", "os", "ou", "outra", "outras", "outro", "outros",
"pelas", "pelas", "pelo", "pelos", "perante", "pois", "por",
"porque", "portanto", "proprio", "propios", "quais", "qual",
"qualquer", "quando", "quanto", "que", "quem", "quer", "se",
"seja", "sem", "sendo", "seu", "seus", "sob", "sobre", "sua",
"suas", "tal", "tambem", "teu", "teus", "toda", "todas", "todo",
"todos", "tua", "tuas", "tudo", "um", "uma", "umas", "uns"};
/**
* Creates new instance of SpanishAnalyzer
*/
public PortugueseAnalyzer() {
analyzer = new SnowballAnalyzer("Portuguese", PORTUGUESE_STOP_WORDS);
}
public PortugueseAnalyzer(String stopWords[]) {
analyzer = new SnowballAnalyzer("Portuguese", stopWords);
}
@Override
public TokenStream tokenStream(String fieldName, Reader reader) {
return analyzer.tokenStream(fieldName, reader);
}
}