zoukankan      html  css  js  c++  java
  • 如何在WSS中利用KeywordQuery创建搜索查询(转)

    转自:http://www.cnblogs.com/rippleyong/archive/2008/12/08/1350266.html
    WSS(Windows SharePoint Services)
    KeywordQuery可执行关键字语法搜索查询,可以将搜索条件直接传递给搜索组件而无需通过搜索条件来分析以生成查询。


    1.添加两个引用
    Microsoft.Sharepoint
    Microsoft.Sharepoint.Search

    如果你使用MOSS操作可以引入Microsoft.Office.Server.Search


    2.代码实现
    类的构造函数具有两次重载;当实例化类时,必须指定网站集(作为 SPSite 类的实例)或者网站名称

    DataTable resultsDataTable = new DataTable(); 
    using (SPSite site = new SPSite("http://server/")) 

    KeywordQuery query 
    = new KeywordQuery(site); 
    query.QueryText 
    = queryText; 
    query.ResultTypes 
    = ResultType.RelevantResults; 
    ResultTableCollection resultTables 
    = query.Execute(); 
    if (resultTables.Count > 0

    ResultTable relevantResults 
    = resultTables[ResultType.RelevantResults]; 
    resultsDataTable.Load(relevantResults, LoadOption.OverwriteChanges); 


    return resultsDataTable; 

    虽然在WSS中的返回的Microsoft.SharePoint.Search.Query.ResultType只能是RelevantResults,但是在代码中你还是必须要指明。否则不会返回任何ResultTable。

    Microsoft.Office.Server.Search.Query.RelevantResults可以用四种返回结果。

    query.ResultTypes = ResultType.RelevantResults; 


    3.获取特定属性字段
    默认返回以下属性字段:
    Work ID
    Rank
    Title
    Author
    Size
    Path
    Description
    Write
    SiteName
    CollapsingStatus
    HitHighlightedSummary
    HitHighlightedProperties
    ContentClass
    IsDocument
    PictureThumbnailURL

    如果你想要返回确定的属性字段,设置query.SelectProperties,下面的实例只返回Title和Size

    query.SelectProperties.Add("title"); 
    query.SelectProperties.Add(
    "size"); 

    4.设置设置返回结果分页

    int pageSize = 3
    int page = 0


    query.StartRow 
    = page * pageSize; 
    query.RowLimit 
    = pageSize; 

    5.设置返回结果排序

    query.SortList.Add("Rank", SortDirection.Ascending); 
    query.SortList.Add(
    "WorkId", SortDirection.Descending); 
  • 相关阅读:
    计算机硬件知识整理
    cf689d ST表RMQ+二分
    hdu5289 ST表+二分
    hdu5443 ST表裸题:求区间最大
    poj3264 倍增法(ST表)裸题
    cf932d 树上倍增
    zoj3195 联通树上三个点的路径长
    hdu6107 倍增法st表
    hdu2586 lca倍增法
    poj1470 LCA倍增法
  • 原文地址:https://www.cnblogs.com/ceci/p/1554992.html
Copyright © 2011-2022 走看看