Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }