Markus, Good thinking- I would also suggest that we use a singleton stemmer for now (which would be KISS in our case).
I also had some ideas to batch indexing, we could include it on our performance improvements list (after release 1.0?). For stemming it might be a better idea to have a stem cache rather than a pool of stemmers. Rendering does happen in the thread for the search, but I guess people won't notice a difference in performance normally. The other place where stemming happens is the word frequencies, but in the UI that is done as a comet snippet and pushed on demand, so there shouldn't be a noticeable delay. OK then, I will commit my changes today, which only involve moving stuff to the companion object. Of course, suggestions are welcome, but there's always room for improvement later on.
