v1.2 release has many bug fixes and enhancements:
- Work Item: 10324 - Resolves an issue of when a site has thousands of items to index, Examine will try to rebuild the index on startup if the index doesn't already exist. This causes a lot of IO operations to occur because a file needs to be written for each item. Since the file queues are made in the web context, this could cause the request to timeout which then can cause more problems with indexing.
- Work Item: 10326 - Resolves an issue when searching on 'Stop words' such as 'a' or 'into' or 'this'. Lucene analyzers will strip out stop words (depending on your analyzer) and then Examine tries to pass the stripped down query to Lucene which now may contain a null query term and Lucene will throw an exception. This is resolved by checking the query terms for null values before passing off to Lucene to search.
- Work item: 10323 - Resolves an issue with PDF indexing when ITextSharp cannot parse the text
- Before this release Examine would create a ".add" file for each item it needed to index. When thousands of nodes need to be indexed, this causes a lot of IO operations to take place which can be quite slow. Examine now 'buffers' all of the 'add' queues into one file so there is far less IO operations taking place when generating the queue.
- During the queue processing, Examine will updated the buffered file and remove the item from it that has just been indexed. This is required in case your app-pool restarts in the middle of processing so that no duplicates are added to the index.
- Removed Lucene index optimization during initialization, index optimization will simply be done every 100 index writes/commits.
- Added new config option to the <Examine config node : "RebuildOnAppStart" which by default is 'true' which means if you're index doesn't exist then Examine will rebuild all of your index on app-startup. This could cause issues if your site has thousands of nodes. In that case you can change this value to 'false', however will require you to manually rebuild your index, or if you are using Umbraco you'll need to save/publish a node.