I am using Lucene.net to perform faceted searches for a MVC based web app hosted on Azure.
The index consists of approx. 2 million entries.
Each entry has 1 Analysed field and about 25 Non Analysed fields.
All fields need to be stored.
Currently the entire app works fine with a 25% complete sample index but falls over when the full index is created.
At which point i start getting an outofmemory exception from this line :
sfs = new SimpleFacetedSearch(Newreader, "Product_Id");
Each document is an SKU and each product has about 44 SKUs.
My intention ( and what was working before the full index was created) was to perform a facet search on "Product_Id" giving the total unique Products in order to allow for paging and only creating object models for the required number of product (24 products per page for example).
The layout of the page is such that i need all the SKU data for a product but need to limit by unique products. (i.e 24 products/page not SKUs/page)
So in essence I either need to figure out why i am getting the outofmemory exception. (Lucene seems to be handling much larger index for people, so maybe i am doing something wrong)
OR
I need to filter the SKUs down by unique product ID in another way.
I tried iterating through a loop tracking the document productIds and only grabbing the full model if required which worked well when trying to meet the 24 per page quota of the first few results pages (as you didn't have to iterate so many times) but was awful for the last few pages.