当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 为联合搜索创建新结果源

作者:精品下载站 日期:2024-12-14 20:59:00 浏览:12 分类:玩电脑

使用 PowerShell 为联合搜索创建新结果源


联合搜索从多个搜索引擎收集搜索结果并将其呈现在单个页面上。另一篇文章中解释了在 SharePoint 中创建联合搜索结果:如何在 SharePoint 2016 中创建联合搜索结果?这篇文章的目标是使用 PowerShell 脚本为联合搜索结果创建新的结果源:

以下是用于为联合搜索创建新结果源的 PowerShell 脚本:


Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue

#create a new result source at Search Service Application
$SearchServiceApplication = Get-SPEnterpriseSearchServiceApplication 
$FederationManager = New-Object Microsoft.Office.Server.Search.Administration.Query.FederationManager($SearchServiceApplication)

$SearchOwner = Get-SPEnterpriseSearchOwner -Level Ssa
$ResultSourceName ="Bing Search Result Source"

#For Site Level Result Source, Use:
#$SiteCollection = Get-SPSite $SiteUrl -ErrorAction SilentlyContinue
#$SearchOwner = Get-SPEnterpriseSearchOwner -Level SPSite -SPSite $SiteCollection

#Check if the Result Source is already exists
$ResultSource = $FederationManager.GetSourceByName($ResultSourceName,$SearchOwner)
if($ResultSource)
{
    $FederationManager.RemoveSource($ResultSource)
}

# create a new result source
$Query = "{SearchTerms}"

$ResultSource = $FederationManager.CreateSource($SearchOwner)
$ResultSource.Name = $ResultSourceName
$ResultSource.ConnectionUrlTemplate = "https://www.bing.com/search?q={searchTerms}&format=rss&Market=en-us"
$ResultSource.ProviderId = $FederationManager.ListProviders()['OpenSearch Provider'].Id
$ResultSource.CreateQueryTransform($queryProperties, $query)
$ResultSource.Commit()

Write-host Result Source: $ResultSourceName has been created successfully!

相关文章:如何在 SharePoint 2013 中创建结果源?

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯