/// <summary> /// 根据产品编号搜索产品 /// (从索引) /// </summary> /// <param name="productSysNo">产品编号</param> /// <returns>产品列表</returns> /// <remarks>2013-08-12 黄波 创建</remarks> public PdProductIndex Search(int productSysNo , ProductStatus.产品价格来源 priceSource = ProductStatus.产品价格来源.会员等级价 , int priceSourceSysNo = CustomerLevel.初级) { var returnValue = new PdProductIndex(); BooleanQuery query = new BooleanQuery(); query.Add(new TermQuery(new Term("SysNo", productSysNo.ToString())), BooleanClause.Occur.SHOULD); //搜索 var searchIndex = Hyt.Infrastructure.Lucene.ProductIndex.Searcher; Hits hits = searchIndex.Search(query); for (var i = 0; i < hits.Length(); i++) { try { var pdProductIndex = Hyt.Infrastructure.Lucene.ProductIndex.Instance.DocumentToModel(hits.Doc(i)); pdProductIndex.RankPrice = GetProductRankPrice(pdProductIndex.Prices, pdProductIndex.BasicPrice, priceSource, priceSourceSysNo); returnValue = pdProductIndex; } catch { } } // searchIndex.Close(); return(returnValue); }
/// <summary> /// 更新索引 /// </summary> /// <param name="model">商品实体</param> /// <returns>是否</returns> /// <remarks>2013-12-1 黄波 创建</remarks> public bool UpdateProductIndex(PdProductIndex model) { var result = false; try { if (HasProductIndex(model.SysNo)) { Hyt.Infrastructure.Lucene.ProductIndex.Instance.UpdateIndex(model); } else { Hyt.Infrastructure.Lucene.ProductIndex.Instance.AddIndex(model); } result = true; } catch (Exception ex) { Hyt.BLL.Log.SysLog.Instance.Error(LogStatus.系统日志来源.后台, "更新索引", ex); } return(result); }