Exemplo n.º 1
0
        public void Test1()
        {
            var keys = new string[] { "address", "name" };
            int page = 1;
            int size = 20;

            //查询参数构造
            IPageParam pageParams = new PageParamWithSearch
            {
                PageIndex  = page,
                PageSize   = size,
                KeyWord    = "重庆",
                Operator   = Nest.Operator.Or, //拼接条件
                SearchKeys = keys,
                Highlight  = new HighlightParam
                {
                    Keys        = keys,
                    PostTags    = "</strong>",
                    PreTags     = "<strong>",
                    PrefixOfKey = "h_"//替换字段前缀
                }
            };
            //返回查询结果
            var select = dotnetsearch.Query <BuildingBaseInfo>(pageParams);
            var list   = select.List;

            Assert.True(list.Count() > 0, "构建查询成功");
        }
        /// <summary>
        /// 搜索
        /// </summary>
        /// <returns></returns>
        public IActionResult Search(string name)
        {
            var keys = new string[] { "address", "name" };
            int page = 1;
            int size = 20;
            //查询参数构造
            IPageParam pageParams = new PageParamWithSearch
            {
                PageIndex  = page,
                PageSize   = size,
                KeyWord    = name,
                Operator   = Nest.Operator.Or, //拼接条件
                SearchKeys = keys,
                Highlight  = new HighlightParam
                {
                    Keys     = keys,
                    PostTags = "</h1>",
                    PreTags  = "<h1>",
                    //   PrefixOfKey = "h_"//替换字段前缀
                }
            };

            //返回查询结果
            var select = dotnetsearch.Query <BuildingBaseInfo>(pageParams);
            var list   = select.List.Where(u => !u.IsDeleted).ToList();

            list.ForEach(y =>
            {
                if (y.Summary != null && y?.Summary?.Length > 30)
                {
                    y.Summary = y.Summary.Substring(0, 30) + "......";
                }
            });
            ViewData["data"] = list;
            //var  ids = select.List.Select(x=>x.Id).ToList();
            //在mysql 查询出来
            //var list = _dbContext.buildingBaseInfos.Where(h => ids.Contains(h.Id)).ToList();
            //var list = _dbContext.buildingBaseInfos.FirstOrDefault();
            //var frist = new List<BuildingBaseInfo> { list };
            // dotnetsearch.Query<BuildingBaseInfo>();
            return(View("BuildShopView"));
        }