场景 - 我正在构建一个站点来容纳许多报告 - 在一个主 Web 下有三十个左右的子站点,用于不同的报告类别,每个站点中有几个库,每个单独的报告一个库。总共有 30 个报告类别(站点)中的大约 600 个报告(库)。此设计已确定,不能更改。
我计划/想要一个高级搜索页面来搜索所有报告,使用各种自定义元数据列。这一点很简单,我可以开箱即用。
最重要的搜索标准之一是要搜索哪个报告,正如我所提到的,其中有很多。指令是让报告类型添加“不可见” - 他们将选择报告类别,然后选择报告类型,然后显示搜索页面。搜索应该“知道”正在搜索哪个报告。
范围选择不是一个可行的选项,因为库太多了,而且随着新报告的创建,还会添加更多库。
现在,如果我将“u”参数添加到 URL 中,我可以在结果中得到我想要的结果:
results.aspx?k="RunDate=1/23/13"&U=http://site/report_type/library"
(为清楚起见,地址未转义)
我的挑战是找到一种方法将该参数提供给高级搜索,并让它附加到其生成的查询的末尾。
我相信只需对 webpart 稍作调整就可以完成,但我需要在正确的方向上稍加推动。
或者,和往常一样,如果你们都有更聪明的想法,我可以做到。
现在,我有第二个问题,不同的报告有自己不同的元数据列集,他们只希望每个报告都显示正确的列,但一次只有一个危机。
编辑 - 经过进一步研究,我似乎无法扩展高级搜索 webpart,因为它是密封类型。有没有人可以解决这个问题,或者有我可以破解的第三方高级搜索页面?