Hi Bernd, > On Aug 22, 2017, at 4:31 AM, Bernd Fehling <bernd.fehl...@uni-bielefeld.de> > wrote: > > But the QueryBuilder only calls "stream.reset()", it never calls > "stream.end()" so that Filters > in the Analyzer chain can't do any cleanup (like my Filter wanted to do). > I moved my "cleanup" into reset() which feels like a dirty hack. > > > My opinion, in lucene QueryBuilder there should be a "stream.end()" after > consuming the stream: > ... > stream.reset(); > while (stream.incrementToken()) { > numTokens++; > ... > } > stream.end(); > ...
The stream here is a CachingTokenFilter wrapping the passed-in TokenStream. On first call to cache.incrementToken(), CachingTokenFilter's cache is populated by exhausting the wrapped stream and then calling its end() method. -- Steve www.lucidworks.com