SharePoint 2010 WebPart开发——获取最热门搜索查询WebPart(code)

           其中GetTopKeywords()方法就是获取在搜索中心最热门搜索查询。前提要引用两个dll文件,Microsoft.Office.Server.WebAnalytics.dll和Microsoft.Office.Server.WebAnalytics.UI.dll
        protected DataTable GetTopKeywords(SPSite site)
        {
            AggregationContext aggregationContext = AggregationContext.GetContext(site);

            List<ViewParameterValue> viewParamsList = new List<ViewParameterValue>();
            viewParamsList.Add(new ViewParameterValue("StartDateId", DateTimeToDateId(DateTime.UtcNow.AddMonths(-1))));
            viewParamsList.Add(new ViewParameterValue("EndDateId", DateTimeToDateId(DateTime.UtcNow)));
            viewParamsList.Add(new ViewParameterValue("ScopeName", null));

            DataPacket dataPacket = FrontEndDataRetriever.QueryData(aggregationContext, null, "fn_WA_GetTopSearchQueries", viewParamsList, null, GetSortOrder("Frequency", OrderType.Descending), 1, 2000, false);

            return dataPacket.DataTable;
        }

        public static int DateTimeToDateId(DateTime dt)
        {
            if (string.IsNullOrEmpty(dt.ToString()))
            {
                return 0;
            }
            return int.Parse(dt.ToString("yyyyMMdd", CultureInfo.InvariantCulture), CultureInfo.InvariantCulture);
        }


        private static List<SortOrder> GetSortOrder(string sortColumn, OrderType order)
        {
            List<SortOrder> list = new List<SortOrder>();
            SortOrder item = null;
            item = new SortOrder(sortColumn, order);
            list.Add(item);
            return list;
        }

  效果如下图所示(红框中是重点):

  2011012116022642.jpg

转载于:https://www.cnblogs.com/alexjin/archive/2011/01/21/1941207.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值