We are maintaining a Lucene index which contains around 20mm documents. The nature of the search queries is such that indexing and quering can be easily split between different indexes.
To achive that we need to keep many (potentially thousands) of IndexWriters or IndexReaders/Searchers in memory to deal with indexing and quering of each one of these indiceies (the queries do not span across multiple indexes).
I need to know about the memory pressure this is going to cause, and potential solutions anyone can suggest.