001 package railo.runtime.search.lucene2.analyzer; 002 003 004 import java.io.Reader; 005 006 import org.apache.lucene.analysis.Analyzer; 007 import org.apache.lucene.analysis.TokenStream; 008 import org.apache.lucene.analysis.snowball.SnowballAnalyzer; 009 010 011 /** 012 * <p>Analyzer for Spanish language</p> 013 * <p><a href="SpanishAnalyzer.java.html"><i>View Source</i></a></p> 014 * <p/> 015 * 016 * @author Andrey Grebnev <a href="mailto:andrey.grebnev@blandware.com"><andrey.grebnev@blandware.com></a> 017 * @version $Revision: 1.2 $ $Date: 2005/02/24 19:51:22 $ 018 */ 019 public final class SpanishAnalyzer extends Analyzer { 020 021 private static SnowballAnalyzer analyzer; 022 023 private String SPANISH_STOP_WORDS[] = { 024 025 "un", "una", "unas", "unos", "uno", "sobre", "todo", "tambien", "tras", 026 "otro", "algun", "alguno", "alguna", 027 028 "algunos", "algunas", "ser", "es", "soy", "eres", "somos", "sois", "estoy", 029 "esta", "estamos", "estais", 030 031 "estan", "en", "para", "atras", "porque", "por que", "estado", "estaba", 032 "ante", "antes", "siendo", 033 034 "ambos", "pero", "por", "poder", "puede", "puedo", "podemos", "podeis", 035 "pueden", "fui", "fue", "fuimos", 036 037 "fueron", "hacer", "hago", "hace", "hacemos", "haceis", "hacen", "cada", 038 "fin", "incluso", "primero", 039 040 "desde", "conseguir", "consigo", "consigue", "consigues", "conseguimos", 041 "consiguen", "ir", "voy", "va", 042 043 "vamos", "vais", "van", "vaya", "bueno", "ha", "tener", "tengo", "tiene", 044 "tenemos", "teneis", "tienen", 045 046 "el", "la", "lo", "las", "los", "su", "aqui", "mio", "tuyo", "ellos", 047 "ellas", "nos", "nosotros", "vosotros", 048 049 "vosotras", "si", "dentro", "solo", "solamente", "saber", "sabes", "sabe", 050 "sabemos", "sabeis", "saben", 051 052 "ultimo", "largo", "bastante", "haces", "muchos", "aquellos", "aquellas", 053 "sus", "entonces", "tiempo", 054 055 "verdad", "verdadero", "verdadera", "cierto", "ciertos", "cierta", 056 "ciertas", "intentar", "intento", 057 058 "intenta", "intentas", "intentamos", "intentais", "intentan", "dos", "bajo", 059 "arriba", "encima", "usar", 060 061 "uso", "usas", "usa", "usamos", "usais", "usan", "emplear", "empleo", 062 "empleas", "emplean", "ampleamos", 063 064 "empleais", "valor", "muy", "era", "eras", "eramos", "eran", "modo", "bien", 065 "cual", "cuando", "donde", 066 067 "mientras", "quien", "con", "entre", "sin", "trabajo", "trabajar", 068 "trabajas", "trabaja", "trabajamos", 069 070 "trabajais", "trabajan", "podria", "podrias", "podriamos", "podrian", 071 "podriais", "yo", "aquel", "mi", 072 073 "de", "a", "e", "i", "o", "u"}; 074 075 /** 076 * Creates new instance of SpanishAnalyzer 077 */ 078 public SpanishAnalyzer() { 079 analyzer = new SnowballAnalyzer("Spanish", SPANISH_STOP_WORDS); 080 } 081 082 public SpanishAnalyzer(String stopWords[]) { 083 analyzer = new SnowballAnalyzer("Spanish", stopWords); 084 } 085 086 @Override 087 public TokenStream tokenStream(String fieldName, Reader reader) { 088 return analyzer.tokenStream(fieldName, reader); 089 } 090 }