我正在使用Lucene.net对Azure上托管的基于MVC的Web应用程序执行分面搜索。
指数由约。 200万条目。
每个条目都有1个分析字段和大约25个非分析字段。
需要存储所有字段。
目前,整个应用程序可以正常使用25%的完整样本索引,但在创建完整索引时会崩溃。
此时我开始从这一行获得一个outofmemory异常:
sfs = new SimpleFacetedSearch(Newreader, "Product_Id");
每份文件都是SKU,每件产品大约有44个SKU。
我的意图(以及在创建完整索引之前的工作)是在“Product_Id”上执行方面搜索,给出总的唯一产品,以便允许分页并仅为所需数量的产品创建对象模型(例如,每页24个产品)。
页面的布局是这样的,我需要产品的所有SKU数据,但需要限制独特的产品。 (即24个产品/页不是SKU /页)
所以从本质上讲,我要么弄清楚为什么我会得到outofmemory异常。 (Lucene似乎为人们处理了更大的索引,所以也许我做错了什么)
OR
我需要以另一种方式按唯一商品ID过滤SKU。
我尝试遍历跟踪文档productIds的循环,并且只在需要时抓取完整模型,在尝试满足前几页结果页面的每页24个配额时效果很好(因为您不需要迭代这么多时间)但在最后几页很糟糕。