예제 #1
0
        /// <summary>
        /// 创建文件索引
        /// </summary>
        /// <param name="model">索引实体</param>
        /// <returns>创建的索引文件序号</returns>
        /// <remarks>2013-3-8 杨浩 创建</remarks>
        public int IndexString(Model.PdProductIndex model)
        {
            _writer.AddDocument(ModelToDocument(model));
            int num = _writer.MaxDoc();

            return(num);
        }
예제 #2
0
        /// <summary>
        /// 构造索引文档对象
        /// </summary>
        /// <param name="model">商品索引实体</param>
        /// <returns>索引文档</returns>
        /// <remarks>2013-08-02 黄波 创建</remarks>
        /// <remarks>2013-12-23 邵斌 添加前台是否下单字段</remarks>
        public Document ModelToDocument(Model.PdProductIndex model)
        {
            var   doc = new Document();
            Field field;

            field = new Field("SysNo", model.SysNo.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            field.SetBoost(2.0F);
            doc.Add(field);

            field = new Field("Barcode", model.Barcode ?? "", Field.Store.YES, Field.Index.NOT_ANALYZED);
            field.SetBoost(2.0F);
            doc.Add(field);

            field = new Field("ProductName", model.ProductName ?? "", Field.Store.YES, Field.Index.ANALYZED);
            //field = new Field("ProductName", model.ProductName ?? "", Field.Store.YES, Field.Index.NOT_ANALYZED);
            field.SetBoost(1.8F);
            doc.Add(field);

            field = new Field("ProductSubName", model.ProductSubName ?? "", Field.Store.YES, Field.Index.ANALYZED);
            field.SetBoost(1.8F);
            doc.Add(field);

            field = new Field("Category", model.Category.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            field.SetBoost(1.8F);
            doc.Add(field);

            field = new Field("BrandSysNo", model.BrandSysNo.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            field.SetBoost(0.9F);
            doc.Add(field);

            field = new Field("AssociationCategory", (model.AssociationCategory == null ? "," + model.Category.ToString() + "," : model.AssociationCategory).ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            field.SetBoost(1.0F);
            doc.Add(field);

            field = new Field("Attributes", model.Attributes == null?"":model.Attributes, Field.Store.YES, Field.Index.NOT_ANALYZED);
            field.SetBoost(1.0F);
            doc.Add(field);

            field = new Field("DisplayOrder", model.DisplayOrder.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("ProductImage", model.ProductImage ?? "", Field.Store.YES, Field.Index.NO);
            doc.Add(field);

            field = new Field("NameAcronymy", model.NameAcronymy ?? "", Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("Prices", model.Prices ?? "", Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);


            field = new Field("QRCode", model.QRCode ?? "", Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("BasicPrice", model.BasicPrice.ToString(Constant.DecimalFormatWithGroup), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("Status", model.Status.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("CommentCount", model.CommentCount.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("SalesCount", model.SalesCount.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("AverageScore", model.AverageScore.ToString(Constant.DecimalFormatWithGroup), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("Favorites", model.Favorites.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("Liking", model.Liking.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("Question", model.Question.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("Shares", model.Shares.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("TotalScore", model.TotalScore.ToString(Constant.DecimalFormatWithGroup), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("CreatedDate", model.CreatedDate.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            //2013-12-23 邵斌 添加前台是否下单字段
            field = new Field("CanFrontEndOrder", model.CanFrontEndOrder.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("ErpCode", model.ErpCode, Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("ProductGroupCode", model.ProductGroupCode, Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("OriginSysNo", model.OriginSysNo.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("IsFrontDisplay", model.IsFrontDisplay.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("DealerSysNos", string.IsNullOrEmpty(model.DealerSysNos) ? "" : model.DealerSysNos, Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            //2016-7-8 罗远康 添加仓库字段
            field = new Field("WarehouseSysNos", string.IsNullOrEmpty(model.WarehouseSysNos) ? "" : model.WarehouseSysNos, Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("Price", model.Price.ToString(Constant.DecimalFormatWithGroup), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            field = new Field("ProductType", model.ProductType.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            doc.Add(field);

            return(doc);
        }