什么是FullTextSqlQuery的搜索范围

时间:2010-01-09 00:21:46

标签: c# sharepoint sharepoint-2007

我正在尝试使用FullTextSqlQuery来查找用户有权访问的sharepoint站点列表。这是我的代码:

SPFarm farm = SPFarm.Local;

SPWebServiceCollection webServices =
    new SPWebServiceCollection(farm);

foreach (SPWebService webService in webServices)
{
    foreach (SPWebApplication webApp in webService.WebApplications)
    {
        using (FullTextSqlQuery fullTextSqlQuery = new
            FullTextSqlQuery(ServerContext.GetContext(webApp)))
        {
        // Do some Initializtion
        fullTextSqlQuery.QueryText = 
            "select title, path from scope() where (contentclass = 'STS_Web' or contentclass = 'STS_Site') order by path";

           // execute the query and gather results
        }
    }
}

我自然认为FullTextSqlQuery的搜索范围是由构造函数的参数定义的,因为在这种情况下Web应用程序将是搜索范围:
FullTextSqlQuery fullTextSqlQuery = new FullTextSqlQuery(ServerContext.GetContext(webApp))

但是,对于每个Web应用程序,查询返回完全相同的结果,这意味着webApp不用作范围。那么我如何定义查询的范围?

感谢。

1 个答案:

答案 0 :(得分:1)

在您的网络应用使用的共享服务提供商中定义范围(开箱即用或自定义)。在yoru站点的网站集设置中,您可以进一步指定允许和使用的范围。

共享服务提供商位于中央管理员的左侧菜单中,然后,在ssp管理站点中,您可以添加,修改和删除搜索范围。

更多信息here