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 Italian language</p> 012 */ 013 public final class ItalianAnalyzer extends Analyzer { 014 015 private static SnowballAnalyzer analyzer; 016 017 private final static String[] STOP_WORDS = { "a", "abbia", 018 "abbiamo", "abbiano", "abbiate", "ad", "agl", "agli", "ai", 019 "al", "all", "alla", "alle", "allo", "anche", "avemmo", 020 "avendo", "avesse", "avessero", "avessi", "avessimo", 021 "aveste", "avesti", "avete", "aveva", "avevamo", "avevano", 022 "avevate", "avevi", "avevo", "avr�", "avrai", "avranno", 023 "avrebbe", "avrebbero", "avrei", "avremmo", "avremo", 024 "avreste", "avresti", "avrete", "avr�", "avuta", "avute", 025 "avuti", "avuto", "c", "che", "chi", "ci", "coi", "come", 026 "con", "contro", "cui", "da", "dagl", "dagli", "dai", 027 "dal", "dall", "dalle", "dallo", "degl", "degli", "dei", 028 "del", "dell", "della", "delle", "dello", "di", "dov", 029 "dove", "e", "�", "ebbe", "ebbero", "ebbi", "ed", "erano", 030 "eravamo", "eravate", "eri", "ero", "essendo", "fa", "f�", 031 "facciamo", "facciano", "faccio", "facemmo", "facendo", 032 "facesse", "facessero", "facessi", "facessimo", "faceste", 033 "facesti", "faceva", "facevamo", "facevano", "facevate", 034 "facevi", "facevo", "fai", "fanno", "far�", "farai", 035 "faranno", "farebbe", "farebbero", "farei", "faremmo", 036 "faremo", "fareste", "faresti", "farete", "far�", "fece", 037 "fecero", "fossero", "fossimo", "foste", "fosti", "fu", 038 "fui", "fummo", "furono", "gli", "ha", "hai", "hanno", 039 "ho", "i", "il", "in", "io", "l", "la", "l�", "le", "lei", 040 "li", "l�", "lo", "loro", "lui", "ma", "mi", "mia", "mie", 041 "miei", "mio", "ne", "negl", "negli", "nei", "nel", "nell", 042 "nella", "nelle", "nello", "noi", "non", "nostra", 043 "nostre", "nostri", "nostro", "o", "per", "perch�", "pi�", 044 "quale", "quanta", "quante", "quanti", "quanto", "quella", 045 "quelle", "quelli", "quello", "questa", "queste", "questi", 046 "questo", "sar�", "sarai", "saranno", "sarebbe", 047 "sarebbero", "sarei", "saremmo", "saremo", "sareste", 048 "saresti", "sarete", "sar�", "se", "sei", "si", "s�", 049 "sia", "siamo", "siano", "siate", "siete", "sono", "sta", 050 "stai", "stando", "stanno", "star�", "starai", "staranno", 051 "starebbe", "starebbero", "starei", "staremmo", "staremo", 052 "stareste", "staresti", "starete", "star�", "stava", 053 "stavamo", "stavano", "stavate", "stavi", "stavo", 054 "stemmo", "stesse", "stessero", "stessi", "stessimo", 055 "steste", "stesti", "stette", "stettero", "stetti", "stia", 056 "stiamo", "stiano", "stiate", "sto", "su", "sua", "sue", 057 "sugl", "sugli", "sui", "sul", "sull", "sulla", "sulle", 058 "sullo", "suo", "suoi", "ti", "tra", "tu", "tua", "tue", 059 "tuo", "tuoi", "tutti", "tutto", "un", "una", "uno", "vi", 060 "voi", "vostra", "vostre", "vostri", "vostro" }; 061 062 063 /** 064 * Creates new instance of SpanishAnalyzer 065 */ 066 public ItalianAnalyzer() { 067 analyzer = new SnowballAnalyzer("Italian", STOP_WORDS); 068 } 069 070 public ItalianAnalyzer(String stopWords[]) { 071 analyzer = new SnowballAnalyzer("Italian", stopWords); 072 } 073 074 @Override 075 public TokenStream tokenStream(String fieldName, Reader reader) { 076 return analyzer.tokenStream(fieldName, reader); 077 } 078 }