Hi, Is there any reason why one would *not* want to reuse Query instances?
I'm using MemoryIndex with a fixed set of queries and I'm executing them all on each new document that comes in. Because each document needs to have many tens of thousands of queries executed against it, I thought I'd just run all queries through QueryParser once at the beginning, and then just reuse Query instances on each incoming document. What I've noticed is that my fixed set of queries takes longer and longer to execute as time passes (more and more time is spent inside memoryIndex.search(....) somewhere). The problem is not heap/memory - there is no crazy GCing and the heap is not full, but the CPU is 100% busy. I should note that queries I'm dealing with are ugly and big, using lots of wildcards, but trailing and prefix ones (and this is Lucene 3.1, so no faster Wildcard impl). I should also emphasize that at this point I only *suspect* that maaaybe the gradual slowdown I'm seeing has something to do with the fact that I'm reusing Query instances. Is there any reason why one should not reuse Query instances? Thanks, Otis ---- Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch Lucene ecosystem search :: http://search-lucene.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org