public override Lucene.Net.Analysis.Token Next() { for (Lucene.Net.Analysis.Token t = input.Next(); t != null; t = input.Next()) { if (t.TermText().Equals("the")) { // stopword, do nothing } else if (t.TermText().Equals("quick")) { Lucene.Net.Analysis.Token token = new Lucene.Net.Analysis.Token(t.TermText(), t.StartOffset(), t.EndOffset(), t.Type()); token.SetPositionIncrement(2); return token; } else { Lucene.Net.Analysis.Token token = new Lucene.Net.Analysis.Token(t.TermText(), t.StartOffset(), t.EndOffset(), t.Type()); token.SetPositionIncrement(1); return token; } } return null; }
public override Lucene.Net.Analysis.Token Next() { if (Lucene.Net.QueryParsers.TestMultiAnalyzer.multiToken > 0) { Lucene.Net.Analysis.Token token = new Lucene.Net.Analysis.Token("multi" + (Lucene.Net.QueryParsers.TestMultiAnalyzer.multiToken + 1), prevToken.StartOffset(), prevToken.EndOffset(), prevToken.Type()); token.SetPositionIncrement(0); Lucene.Net.QueryParsers.TestMultiAnalyzer.multiToken--; return token; } else { Lucene.Net.Analysis.Token t = input.Next(); prevToken = t; if (t == null) return null; System.String text = t.TermText(); if (text.Equals("triplemulti")) { Lucene.Net.QueryParsers.TestMultiAnalyzer.multiToken = 2; return t; } else if (text.Equals("multi")) { Lucene.Net.QueryParsers.TestMultiAnalyzer.multiToken = 1; return t; } else { return t; } } }