After testing on 4800 fairly complex queries, I see a performance gain of 10% after doing indexWriter.forceMerge(1); indexWriter.commit(); from 209 ms per query, to 185 ms per query.
Queries are quite complex, often about 30 or words, of the format OR text:<word> It went from 214 to 14 files on the forceMerge. It's a 6GB static/read only index with about 6.4M documents. Documents are around 1MB or so of text. Was wondering - are there any other techniques which can be used to speed up that work well when forceMerge works like this? Is there a better way to query and still maintain accuracy than simply word tokenizing a sentence and joining with OR text: ?