Hi there,
I started implementing a solution for HSEARCH-67
(
http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-67) which allows to
have to sets of configuration parameters for mergeFactor and maxMergeDocs.
The idea is that at initial index creation time (via FullTextSession.index()) you want to
have a high mergeFactor and maxMergeDocs in order to speed up indexing. However, once the
initial index is created you want to have max performance for searches in which case lower
values for the above settings are more appropriate.
The current solution allows now to change the performace tuning settings depending on the
use case. However, is this a valid apporach? The Lucene API seems to allow to dynamically
change these values, but I never have used it this way. Normally I used mergeFactor and
maxMergeFactor as once off configuration options. Does anyone have any experience with
dynamically changing these Lucene performance parameters? Does chaging of these parameters
any impact on the index structure, search performance, ... ?
Cheers,
Hardy