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 Dutch 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            /**
075             * @see org.apache.lucene.analysis.Analyzer#tokenStream(java.lang.String, java.io.Reader)
076             */
077            public TokenStream tokenStream(String fieldName, Reader reader) {
078                    return analyzer.tokenStream(fieldName, reader);
079            }
080    }