【问题标题】:How does FullTextSearchQuery work with SharePoint 2010 and FAST Search Server?FullTextSearchQuery 如何与 SharePoint 2010 和 FAST Search Server 一起使用?
【发布时间】:2011-04-05 13:52:12
【问题描述】:

我刚刚安装了一个使用 SharePoint 2010 和 FAST Search Server 作为默认搜索服务应用程序的测试环境。从一些测试内容开始,并使用标准执行了一些搜索。 SharePoint GUI - 到目前为止一切正常。

现在我想使用 Microsoft.Office.Server.Search.Query.FullTextSqlQuery 类执行更复杂的查询,但事情变得很糟糕。当我尝试访问搜索返回的 ResultTableCollection 对象时出现异常。

这是我尝试运行的 PowerShell 脚本:

$site = New-Object Microsoft.SharePoint.SPSite "@987654321@"
$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 在 System.ThrowHelper.ThrowKeyNotFoundException() 在
System.Collections.Generic.Dictionary`2.get_Item(TKey key) at
Microsoft.Office.Server.Search.Query.ResultTableCollection.get_Item(ResultType requestedType)

当我使用标准执行搜索时,相同的脚本可以完美运行。 SharePoint 搜索服务应用程序。我发现一篇相关的帖子here 指出查询结果的安全修整可能是我的问题的根源。但是,我看不出这在我的环境中应该如何相关,因为我的 FAST 服务应用程序的服务帐户肯定对 AD 具有足够的权限。

有什么建议吗?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我不会为此声称功劳,但这个 URL 似乎是你在 http://fianbakken.com/wordpress/?p=41 之后的目标

      FQL 是一种相当基本的语言,具有简单的操作、AND、OR 等,但绝对可以做出一些杀手级查询来满足您的需求。

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

      干杯

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多