Hi, The issue is: Your Analyzer's createComponents method returns the same instance on every call, this method has to _create_ a new instance on every call. Change your code to build the TokenStream *inside* createComponents, not outside.
Uwe ----- Uwe Schindler Achterdiek 19, D-28357 Bremen http://www.thetaphi.de eMail: u...@thetaphi.de > -----Original Message----- > From: sumitj25 [mailto:sumitjai...@gmail.com] > Sent: Tuesday, February 7, 2017 9:35 AM > To: java-user@lucene.apache.org > Subject: java.lang.IllegalStateException: TokenStream contract violation: > close() call missing > > Hi, > > I am getting IllegalStateException even though I am following the > TokenStream guidelines: > > public List<String> tokenize(String text){ > List<String> tokens = new ArrayList<>(); > try (TokenStream ts = analyzer.tokenStream("",text)){ //note > that this > is implicit finally with close > ts.reset(); > while (ts.incrementToken()) { > > tokens.add(ts.getAttribute(CharTermAttribute.class).toString()); > } > ts.end(); > return tokens; > }catch(Exception e){ > throw new RuntimeException(e); > } > } > > Here's my analyzer creation code: > > TokenizerFactory tokenizerFactory = (TokenizerFactory) > obj(config.getTokenizer()); > Tokenizer tokenizer = tokenizerFactory.create(); > TokenStream stream = new StandardFilter(tokenizer); > return new Analyzer() { > protected TokenStreamComponents > createComponents(String fieldName) { > return new > TokenStreamComponents(tokenizer, stream); > } > }; > > > > > > > > -- > View this message in context: http://lucene.472066.n3.nabble.com/java- > lang-IllegalStateException-TokenStream-contract-violation-close-call-missing- > tp4319109.html > Sent from the Lucene - Java Users mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org