What I'm finding is that ``IndexWriter`` is thread-safe (http://lucene.apache.org/core/4_2_0/core/org/apache/lucene/index/IndexWriter.html), but nothing it's said about thread-safety of ``SimpleAnalyzer`` and ``IndexWriterConfig``.

In case ``SimpleAnalyzer`` and ``IndexWriterConfig`` are indeed not thread-safe, my suggestion would be to turn ``config`` into a private method, i.e.,

```scala
private def config = {
  val analyzer = new SimpleAnalyzer(Version.LUCENE_41) 
  new IndexWriterConfig(Version.LUCENE_41, analyzer)
} 
```

This way you don't need to worry about visibility issues, since a fresh instance is created every time. However, here I'm assuming that creating fresh ``SimpleAnalyzer`` and ``IndexWriterConfig`` instances is a chep operation, I might be (very) wrong.