错误信息:[OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.]
   System.LocalDataStoreMgr.CreateLocalDataStore() +76
   System.Threading.Thread.SetData(LocalDataStoreSlot slot, Object data) +69
   Lucene.Net.Util.CloseableThreadLocal.Set(Object object_Renamed) +136
   Lucene.Net.Index.TermInfosReader.GetThreadResources() +238
   Lucene.Net.Index.TermInfosReader.Get(Term term, Boolean useCache) +152
   Lucene.Net.Index.TermInfosReader.Get(Term term) +45
   Lucene.Net.Index.SegmentReader.DocFreq(Term t) +83
   Lucene.Net.Index.DirectoryReader.DocFreq(Term t) +111
   Lucene.Net.Search.IndexSearcher.DocFreq(Term term) +48
   Lucene.Net.Search.Similarity.IdfExplain(Term term, Searcher searcher) +161
   Lucene.Net.Search.TermWeight..ctor(TermQuery enclosingInstance, Searcher searcher) +151
   Lucene.Net.Search.TermQuery.CreateWeight(Searcher searcher) +59
   Lucene.Net.Search.Query.Weight(Searcher searcher) +88
   Lucene.Net.Search.Searcher.CreateWeight(Query query) +44
   Lucene.Net.Search.Searcher.Search(Query query, Filter filter, Int32 n) +51
   _3c_ProductList.GetList(DataTable& dtCategory) in d:\SEG\SegProject\Seg\Segbuy\Web\Seg.Segbuy.Web.Main\3c\ProductList.aspx.cs:183
   _3c_ProductList.Bind() in d:\SEG\SegProject\Seg\Segbuy\Web\Seg.Segbuy.Web.Main\3c\ProductList.aspx.cs:90
   _3c_ProductList.Page_Load(Object sender, EventArgs e) in d:\SEG\SegProject\Seg\Segbuy\Web\Seg.Segbuy.Web.Main\3c\ProductList.aspx.cs:82
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +91
   System.Web.UI.Control.LoadRecursive() +74
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207
代码:
 #region 构建左侧排序datatable
         BooleanQuery boolquery2 = boolquery;  
         Directory directory2 = FSDirectory.Open(new System.IO.DirectoryInfo(indexpath)); 
         IndexSearcher search2 = new IndexSearcher(directory2,true);   //创建 IndexSearcher 实例需要告诉 lucene 索引的位置,就是你 IndexWrite 的文件路径。
         TopDocs topDocs2 = search2.Search(boolquery2, null, search2.MaxDoc(),sort);//只存储id和score。
         ScoreDoc[] scoreDoc2 = topDocs2.scoreDocs;
         if(topDocs2.totalHits == 0)
             {
             dtCategory = null;
             }
        DataTable dtList2 = new DataTable();
        dtList2.Columns.Add("productid");
        dtList2.Columns.Add("categorycode");
        dtList2.Clear();
        for(int i = 0; i < topDocs2.totalHits; i++)
            {
            Document doc = search2.Doc(scoreDoc2[i].doc); //Doc(int n) : 放回第 n 个文档。
            DataRow dr = dtList2.NewRow();
            dr["productid"] = doc.Get("productid");
            dr["categorycode"] = doc.Get("categorycode");
            dtList2.Rows.Add(dr);
            dr.AcceptChanges();
            }  
        search2.Close();//关闭
        directory2.Close();
        dtCategory = dtList2; 
      
        #endregion