1

我们的 SharePoint-2007 门户网站的用户将能够创建自己的站点和子站点。这些站点将是可搜索的,但搜索将仅限于站点和子站点(如果有)。

我正在尝试使用自己的逻辑代码(c#)和自定义 UI 开发自定义搜索页面。此自定义搜索页面将成为站点模板的一部分。我不确定对搜索页面和网站模板进行编码的最佳方式是什么。我使用什么范围?每次用户创建站点时我都需要创建一个新范围吗?开箱即用的 SharePoint 搜索页面有一个范围下拉菜单,其中包含“本网站”选项。但我在“搜索管理”下的范围列表中没有看到该范围。非常欢迎任何帮助或指示。提前致谢。

4

1 回答 1

1

“本网站”和“本列表”范围不是真正的范围。它们代表内置于 MOSS 搜索代码中的功能。这些“范围”是通过特殊的查询字符串参数(即属性过滤器)调用的。

默认情况下,当您执行这些搜索时,它会重定向到一个名为OSSSearchResults.aspx的页面,该页面看起来像是本地站点的一部分。记下查询字符串参数:

  • k=<search_terms>:关键字,您要搜索的字词。
  • cs=This%20Site:上下文范围,你要使用的范围(也可以使用This%20List)。
  • u=<site_url>: Url,您要将搜索结果限制到的站点。

当我们构建我们的 Intranet 门户时,我们创建了一个定制的Search Center。它处理企业搜索任务,但如果您向它传递上述相同的参数,它还将提供站点和列表范围的搜索。通过这种方式,我们能够在一个中心位置提供搜索功能,在一个位置自定义/样式,并且我们所有的搜索看起来和行为都以相同的方式。

在每个站点中,作为我们页面布局的一部分,我们都有一个专门用于“本站点”的搜索框。当您从中搜索时,我们只需POST将适当的参数返回到我们的搜索中心,然后您就可以找到它。

于 2011-04-14T13:13:48.977 回答