Hi, you still have to create it. That is the contract and there is no way around.
Keep in mind, the Analyzer instance is internally caching the components, so the factory is only called if needed. Don't try to further optimize this, it will fail! The TokenStreamComponents class is made for this caching, so why do you care? Implement it like the API and all docs define and it will work as effective as possible. 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 10:33 AM > To: java-user@lucene.apache.org > Subject: RE: java.lang.IllegalStateException: TokenStream contract violation: > close() call missing > > > Thanks Uwe, but I am using the same TokenStream so that I don't have to > create the filter chain every time. This is my filter chain construction: > > Tokenizer tokenizer = tokenizerFactory.create(); > TokenStream stream = new StandardFilter(tokenizer); > for (LuceneFactoryConfig filterConfig : > config.getFilters()) { > if(filterConfig.getClass()!=null){ > stream = stream(config, filterConfig, > stream); > }else { > LOG.warn("Skipping filter {}, class not > found!",filterConfig.getName()); > } > } > > Does this mean, we have to create filter chain every time? > > > > -- > View this message in context: http://lucene.472066.n3.nabble.com/java- > lang-IllegalStateException-TokenStream-contract-violation-close-call-missing- > tp4319109p4319123.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