We've ran some tests with Lucene.Net 3.0.3 in terms of searching and inserting.
For the testing we used a keyword analyzer and text generator based on real English words.
When the index hits around 8 million documents, while doing a search of 1000 random sentences, it takes 25 minutes for the search to complete. (Default sorting)
If we change the search to document sorting:
searcher.Search(query, null, int.MaxValue, new Sort(new SortField(null, SortField.DOC, true))); // boolean query
The search only takes a few seconds to complete.
What gives? Is the the default sorting based on relevance? Why does it have such a huge impact?
Also, if we reduce the number of hits from int.MaxValue to lets say 50, it also reduces the search to a few seconds only.
Is only taking only the first 50 hits it finds in the index and disregarding the rest?