Hi! I'm using lucene.net, but I'm sure this question is not platform specific. :) I've created an index for a website which uses a central database server and three front-end servers. For now I've put the index and the building of the index on a fifth server which builds the index once an hour. It uses a singleton with one directory and one writer for the lifetime of the application. (currently infinite) I also created an http service which gets a reader from the writer and does the search. The front-end servers get the search result via that service over a 1gb lan. The problem is that this server has 100% cpu load quite often, and that affects the responsiveness of the service. So I'm about to rewrite it so that the index is stored on a SAN available to all servers. The front-end servers will then open their own singletons of directory and do the searches themselves.
My question is as follows, Given ~17,000 documents and ~120,000 terms, would you open and close a reader for each search, or would you keep a singleton reader and re-open it say every hour? mvh. Lars-Erik Aabech Faglig leder utvikling MarkedsPartner AS Mobil: +47 920 30 537