我刚刚安装了一个使用 SharePoint 2010 和 FAST Search Server 作为默认搜索服务应用程序的测试环境。从一些测试内容开始,并使用标准执行了一些搜索。SharePoint GUI - 到目前为止一切都很好。
现在我想使用 Microsoft.Office.Server.Search.Query.FullTextSqlQuery 类执行一个更复杂的查询,事情变得很糟糕。当我尝试访问搜索返回的 ResultTableCollection 对象时出现异常。
这是我试图运行的 PowerShell 脚本:
$site = New-Object Microsoft.SharePoint.SPSite "http://moss"
$kq = New-Object Microsoft.Office.Server.Search.Query.FullTextSqlQuery $site
$kq.ResultTypes = [Microsoft.Office.Server.Search.Query.ResultType]::RelevantResults
$kq.RowLimit = 5
$kq.QueryText = "SELECT Title, Url"
$resultTableCollection = $kq.Execute()
$relResultTable = $resultTableCollection.Item([Microsoft.Office.Server.Search.Query.ResultType]::RelevantResults)
这是一个例外(由上面的最后一行代码抛出):给定的键不在字典中。
System.Collections.Generic.KeyNotFoundException at System.ThrowHelper.ThrowKeyNotFoundException() 在
System.Collections.Generic.Dictionary`2.get_Item(TKey key) 在
Microsoft.Office.Server.Search.Query.ResultTableCollection.get_Item(ResultType requestedType)
当我使用标准执行搜索时,相同的脚本可以完美运行。SharePoint 搜索服务应用程序。我在这里找到了一篇相关的帖子,指出查询结果的安全调整可能是我的问题的根源。但是,我看不出这在我的环境中应该如何相关,因为我的 FAST 服务应用程序的服务帐户肯定对 AD 具有足够的权限。
有什么建议么?