NHibernate.Search - async mode
- by Atul
Hi,
I am using NHibernate Lucene search in my project.
Lucene.Net.dll - v - 2.3.1.3
NHibernate.dll - v - 2.1.0.4000
At this point I am trying to use async option for indexing and used
following options
config.SetProperty(NHibernate.Search.Environment.WorkerExecution,
"async");
config.SetProperty(NHibernate.Search.Environment.WorkerThreadPoolSize,
"1");
config.SetProperty(NHibernate.Search.Environment.WorkerWorkQueueSize,
"5000");
Questions
1) My initial index was not build with this option, when used these
settings first time, I had error saying NHibernate.Search.dll not
found. When I deleted existing index and then started working, it went
fine. Do we need to rebuild indexes whenever we change config settings
like above ?
2) How size of index should be interpreted; i.e. initially my index
was about 400MB (build over the last few months), which I deleted.
Later when I reindexed, the size of index went down to 5MB ! Search
appear to be alright after limited testing, but such a change appeared
bit scary. Should we delete/rebuild indexes once in a while & is it
normal to change this drastically ?
3) Is my above setting is OK ? When I had WorkerThreadPoolSize=5, I
once got Dr Watson kind of error.
Please advise on best practices of using async configuration for
search.
Regards,
Atul