FullTextSearchQuery如何与SharePoint 2010和FAST Search Server一起使用?

时间:2010-08-09 16:34:05

标签: sharepoint-2010 sharepoint-api fast-esp

我刚安装了一个测试环境,其中SharePoint 2010和FAST Search Server是默认的搜索服务应用程序。从一些测试内容开始,并使用std执行一些搜索。 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键) Microsoft.Office.Server.Search.Query.ResultTableCollection.get_Item(ResultType requestedType)

当我使用std执行搜索时,完全相同的脚本工作正常。 SharePoint搜索服务应用程序。我发现一个相关的帖子here表示查询结果的安全修整可能是我的问题的根源。但是,我无法看到这在我的环境中应该如何相关,因为我的FAST服务应用程序的服务帐户肯定对AD有足够的权限。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

此API使用SQL Server中的全文搜索功能。您必须在SQL Server层打开它。

该API不会与FAST集成。您可以使用FAST,但最终会使用向QR服务器发出http请求的API。

答案 1 :(得分:0)

我不会声称它的功劳,但这个网址似乎就是你所追求的http://fianbakken.com/wordpress/?p=41

FQL是一种相当基本的语言,具有简单的操作,AND,OR等,但绝对可以做出一些能够做你想做的杀手级查询。

试图为您挖掘一些公开可用的FQL参考但却找不到。如果您需要更多帮助,请大声呼喊。

干杯