Hi,
we can not "alter" the configuration properties, as in some environments they might be read only. For example, some properties might have been set via environment variables.
What can be done is to interpret the configuration properties differently, ignore them or override them, but how to do such things would depend on what you want to accomplish.
For example, you might want to implement a custom DirectoryProvider, and have all your entities (and indexes) use your version by default:
Code:
hibernate.search.default.directory_provider = my.own.DirectoryProviderImplementation
Your
my.own.DirectoryProviderImplementation could extend or decorate one of the ones in Hibernate Search, and read / override additional configuration properties as you prefer.
You mentioned testing needs. If you're integrating it in some custom framework, you might want to see
org.hibernate.search.cfg.spi.SearchConfiguration; that can be used for fully customizing the boostrap of the Hibernate Search engine; it's more work to use it but you would be able to fully control/set each configuration property as you want, and customize many more internal components.