Cree una aplicación de servicio de búsqueda de SharePoint 2013 mediante PowerShell
Aunque podemos crear una aplicación de servicio de búsqueda de SharePoint 2013 desde la Administración central, prefiero crearla a través de PowerShell, ya que ofrece la posibilidad de eliminar los GUID en los nombres de las bases de datos del servicio de búsqueda. Además, desde la Administración central de SharePoint 2013, ¡no es posible modificar la topología de búsqueda! Por lo tanto, PowerShell es la forma ideal de crear/configurar la búsqueda en SharePoint 2013.
La creación de una aplicación de servicio de búsqueda en PowerShell incluye estos 7 pasos:
- Crear un grupo de aplicaciones para la aplicación de servicio de búsqueda
- Iniciar la búsqueda de instancias del servicio en el servidor.
- Crear una aplicación de servicio de búsqueda
- Crear un proxy de aplicación de servicio de búsqueda
- Crear una nueva topología del servicio de búsqueda
- Cree los seis componentes de la búsqueda y asígnelos a la topología de búsqueda.
- Activar la topología de búsqueda.
Script de PowerShell para crear una aplicación de servicio de búsqueda para SharePoint 2013:
Aquí está el script de PowerShell para crear una aplicación de servicio de búsqueda en SharePoint 2013.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
# Specify the Settings for the Search Service Application
$ServerName = (Get-ChildItem env:computername).value
$IndexLocation = "D:\Search Index"
$SearchServiceApplicationName = "Search Service Application"
$SearchServiceApplicationProxyName = "Search Service Application Proxy"
$SearchDatabaseServer = "G1SP2013"
$SearchServiceApplicationDatabase = "SP2013_Search_Service"
$SearchAppPoolName = "Search Service Application pool"
$SearchAppPoolAccount = Get-SPManagedAccount "Crescent\SP13_Search"
#Check if Managed account is registered already
Write-Host -ForegroundColor Yellow "Checking if the Managed Accounts already exists"
$SearchAppPoolAccount = Get-SPManagedAccount -Identity $SearchAppPoolAccount -ErrorAction SilentlyContinue
If ($SearchAppPoolAccount -eq $null)
{
Write-Host "Please Enter the password for the Service Account..."
$AppPoolCredentials = Get-Credential $SearchAppPoolAccount
$SearchAppPoolAccount = New-SPManagedAccount -Credential $AppPoolCredentials
}
#*** Step 1: Create Application Pool for Search Service Application ****
#Get the existing Application Pool
$SearchServiceAppPool = Get-SPServiceApplicationPool -Identity $SearchAppPoolName -ErrorAction SilentlyContinue
#If Application pool Doesn't exists, Create it
if (!$SearchServiceAppPool)
{
$SearchServiceAppPool = New-SPServiceApplicationPool -Name $SearchAppPoolName -Account $SearchAppPoolAccount
write-host "Created New Application Pool" -ForegroundColor Green
}
#*** Step 2: Start Search Service Instances ***
Start-SPEnterpriseSearchServiceInstance $ServerName -ErrorAction SilentlyContinue
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $ServerName -ErrorAction SilentlyContinue
#*** Step 3: Create Search Service Application ****
# Get the Search Service Application
$SearchServiceApplication = Get-SPEnterpriseSearchServiceApplication -Identity $SearchServiceApplicationName -ErrorAction SilentlyContinue
# Create the Search Service Application, If it doesn't exists!
if(!$SearchServiceApplication)
{
$SearchServiceApplication = New-SPEnterpriseSearchServiceApplication -Name $SearchServiceApplicationName -ApplicationPool $SearchServiceAppPool -DatabaseServer $SearchDatabaseServer -DatabaseName $SearchServiceApplicationDatabase
write-host "Created New Search Service Application" -ForegroundColor Green
}
#*** Step 4: Create Search Service Application Proxy ****
#Get the Search Service Application Proxy
$SearchServiceAppProxy = Get-SPEnterpriseSearchServiceApplicationProxy -Identity $SearchServiceApplicationProxyName -ErrorAction SilentlyContinue
# Create the Proxy, If it doesn't exists!
if(!$SearchServiceAppProxy)
{
$SearchServiceAppProxy = New-SPEnterpriseSearchServiceApplicationProxy -Name $SearchServiceApplicationProxyName -SearchApplication $SearchServiceApplication
write-host "Created New Search Service Application Proxy" -ForegroundColor Green
}
#*** Step 5: Create New Search Topology
$SearchServiceInstance = Get-SPEnterpriseSearchServiceInstance -Local
#To Get Search Service Instance on Other Servers: use - $SearchServiceAppSrv1 = Get-SPEnterpriseSearchServiceInstance -Identity "<Server Name>"
# Create New Search Topology
$SearchTopology = New-SPEnterpriseSearchTopology -SearchApplication $SearchServiceApplication
#*** Step 6: Create Components of Search
New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $SearchTopology -SearchServiceInstance $SearchServiceInstance
New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $SearchTopology -SearchServiceInstance $SearchServiceInstance
New-SPEnterpriseSearchCrawlComponent -SearchTopology $SearchTopology -SearchServiceInstance $SearchServiceInstance
New-SPEnterpriseSearchAdminComponent -SearchTopology $SearchTopology -SearchServiceInstance $SearchServiceInstance
#Prepare Index Location
Remove-Item -Recurse -Force -LiteralPath $IndexLocation -ErrorAction SilentlyContinue
MKDIR -Path $IndexLocation -Force
#Create Index and Query Components
New-SPEnterpriseSearchIndexComponent -SearchTopology $SearchTopology -SearchServiceInstance $SearchServiceInstance -RootDirectory $IndexLocation
New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $SearchTopology -SearchServiceInstance $SearchServiceInstance
#*** Step 7: Activate the Toplogy for Search Service ***
$SearchTopology.Activate() # Or Use: Set-SPEnterpriseSearchTopology -Identity $SearchTopology
Aquí está la topología del centro de búsqueda creada:
Como puede ver en la pantalla anterior, la aplicación del servicio de búsqueda Provisioning crea 4 bases de datos: las nombro de la siguiente manera:
- SP2013_Search_Service: la base de datos de administración del servicio de búsqueda almacena la configuración y la topología (podría ser mejor: SP2013_Search_Service_AdminDB”)
- SP2013_Search_Service_AnalyticReporting: almacena el resultado del informe de análisis de uso.
- SP2013_Search_Service_CrawlStore: la base de datos de rastreo contiene información histórica y de seguimiento detallada sobre los elementos rastreados.
- SP2013_Search_Service_LinksStore: base de datos de enlaces. Almacena la información extraída por el componente de procesamiento de contenido y la información de clics de los elementos buscados.
El script anterior crea una aplicación de servicio de búsqueda en SharePoint 2013 usando PowerShell para un entorno independiente. Si está buscando crear una aplicación de servicio de búsqueda de SharePoint en una granja de servidores múltiples, consulte: crear y configurar una aplicación de servicio de búsqueda en una granja de servidores múltiples de SharePoint 2016
