Move the search index location in SharePoint 2013

by Marco Rietveld 18. september 2013 14:09

During the installation of SharePoint 2013 there is an option to change the search index location. The default location is C:\Program Files\Microsoft Office Servers\15.0\Data. It is possible to change the search index location to a dedicated volume after the installation using PowerShell.

Managing the search topology in SharePoint 2013 can be done only via PowerShell. Here is an article about the procedure: http://technet.microsoft.com/en-us/library/jj219705(v=office.15).aspx

Changing the search index location can be done by following the next steps:

  • Get the current search topology
  • Clone the current search topology
  • Modify the cloned Search topology
    (add a new index component with new search index location)
  • Activate the cloned search topology
  • Remove the old search topology
  • remove old index component
    (This means clone, modify, activate search topology and remove the old search topology)

Get the current Search topology

$ssa = Get-SPEnterpriseSearchServiceApplication "Search Service Application"
$instance=Get-SPEnterpriseSearchServiceInstance -Local
$current=Get-SPEnterpriseSearchTopology -SearchApplication $ssa

 

Clone the current Search topology

$clone=New-SPEnterpriseSearchTopology -Clone -SearchApplication $ssa -SearchTopology $current

 

Modify the cloned Search topology

This will add a second index component with a new index location.

New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -IndexPartition 0 -SearchServiceInstance $instance -RootDirectory "E:\NewIndexLocation"

 

Activate the cloned Search topology

Set-SPEnterpriseSearchTopology -Identity $clone

 

Remove the old Search topology

Remove-SPEnterpriseSearchTopology -Identity $current

The next step, remove the old index component, should be done when the new index component is ready.
This can be checked from Central Admin on the Search Administration page, view the status of the search topology or use PowerShell Get-SPEnterpriseSearchStatus. The new index component must be Active.

 

Remove the old index component

This must be done by get, clone, modify, activate the new search topology and remove the old search topology

$current=Get-SPEnterpriseSearchTopology -SearchApplication $ssa
$clone=New-SPEnterpriseSearchTopology -Clone -SearchApplication $ssa -SearchTopology $current
$comp=Get-SPEnterpriseSearchComponent -SearchTopology $clone | ? {$_.Name -eq "IndexComponent1"}
Remove-SPEnterpriseSearchComponent -Identity $comp -SearchTopology $clone
Set-SPEnterpriseSearchTopology -Identity $clone
Remove-SPEnterpriseSearchTopology -Identity $current

Tags: | |

Zoek suggesties in SharePoint 2010

by Marco Rietveld 11. april 2011 12:35

SharePoint Server 2010 en Search Server 2010 Express maken gebruik van een nieuwe zoek feature, zoek suggesties.

Er zijn pre-query suggesties en post-query suggesties. Een pre-query suggestie is een “type-ahead” functie en wordt weergeven in het zoekveld op de zoekpagina. Zodra er in dit veld getyped wordt, zal SharePoint andere queries weergeven waar op gezocht is. Er worden geen suggesties weergegeven welke geen resultaat geven.

image

Een post-query suggestie wordt na een zoekopdracht weergegeven in de rechterbovenhoek van de pagina met zoekresultaten.

image

Belangrijk is dat zoek suggesties gebaseerd zijn op zoekopdrachten die gebruikers uitvoeren en door te klikken op de resultaten. Een  suggestie wordt automatisch toegevoegd nadat er 6 keer binnen een jaar op een resultaat wordt geklikt. Na de installatie van SharePoint worden er dus geen suggesties weergegeven bij een zoekopdracht.

Een mogelijkheid is om handmatig suggesties dmv PowerShell toe te voegen.

Een zoek suggestie toevoegen:

$ssa=Get-SPEnterpriseSearchServiceApplication 
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $ssa -Language en-US -Type QuerySuggestionAlwaysSuggest -Name "SharePoint Server" 
$timer=Get-SPTimerJob|? {$_.Name -eq "Prepare Query Suggestions"} 
$timer.RunNow()

Een lijst weergeven met alle zoek suggesties:

Get-SPEnterpriseSearchQuerySuggestionCandidates -SearchApplication $ssa

Een zoek suggestie kan verwijderd worden met:

Remove-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $ssa -Language En-Us -Type QuerySuggestionAlwaysSuggest -Identity "SharePoint Server"

Een andere mogelijkheid is het “bulk” toevoegen van suggesties.
Dit kan op 2 manieren, vanuit een SharePoint Term Store of vanuit een CSV file.

Suggesties toevoegen vanuit een Term Store kan met het volgende PowerShell script:

$centraladminurl = 'http://URL:PORT'
 # fill in the name of the search service application
 $searchservicename = "Search Service Application"
 # fill in the name of the termstore
 $termstorename = "Managed Metadata"
 # fill in the name of the group
 $groupname = "GROUP"
 # fill in the name of the termset
 $termsetname = "TERMSET"
 
# Connect with the taxonomy
 $taxonomySite = get-SPSite $centraladminurl
 $taxonomySession = Get-SPTaxonomySession -site $taxonomySite
 $termStore = $taxonomySession.TermStores[$termstorename]
 write-host "Connection made with term store -"$termStore.Name
 
# connect with the search service application
 $ss = Get-SPEnterpriseSearchServiceapplication -Identity $searchservicename
 
# function to add a query suggestion
 function addqs($term)
 {
   New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $ss -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name $term.Name -ErrorAction SilentlyContinue
   Write-Host $term.Name
   foreach($nonrootterm in $term.get_Terms())
     {
         addqs($nonrootterm)
     }
 }
 
$termStoreGroup = $termStore.Groups[$groupname]
 $termSet = $termStoreGroup.TermSets[$termsetname]
 
foreach ($term in $termSet.get_Terms())
 {
     addqs($term)
 }
 
# Starting the timer job to prepare the query suggestions
 $job = Get-SPTimerJob "Prepare query suggestions"
 $job | Start-SPTimerJob
 Write-Host "Timer job started"
 
$taxonomySite.Dispose()
 Write-Host "Connection disposed"

Suggesties toevoegen vanuit een CSV file kan met het volgende PowerShell script:

De inhoud van de CSV file moet beginnen met het woord Suggestion
Voorbeeld CSV file:

Suggestion
SharePoint Online
SharePoint Foundation
SharePoint Workspace 2010
SharePoint Services
SharePoint Designer 2010

#Set up default variables
$csvfile="C:\SearchSuggestions.csv"
$ssa = Get-SPEnterpriseSearchServiceapplication -Identity "Search Service Application" 

#Create Lists from each item in CSV file
$csvData = Import-Csv $csvfile
foreach ($line in $csvData)
{
    New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $ssa -Language en-US -Type QuerySuggestionAlwaysSuggest -Name $line.Suggestion
} 

$timerJob = Get-SPTimerJob "Prepare query suggestions"
$timerJob.RunNow()

Tags: | |

Lync 2010 Skill Search gebaseerd op SharePoint

by Marco Rietveld 27. januari 2011 22:20

Met Lync is het niet alleen mogelijk om op naam te zoeken, het is ook mogelijk om te zoeken op vaardigheden of expertise. (Skill Search). Lync maakt hierbij gebruik van SharePoint Search en de informatie op MySites.

Wat is er nodig voor Lync Skill Search:

  • SharePoint 2007/2010
  • SharePoint MySites geconfigureerd
  • SharePoint search center URL
  • SharePoint gepubliceerd op Internet

Het configureren van Skill Search gaat via een Client Policy, een Client Policy configureert de Lync client om gebruikt te maken van SharePoint Search.
Voor het configureren van een Client Policy voor Skill Search zijn een aantal parameters belangrijk:

  • SPSearchInternalURL
  • SPSearchExternalURL

Dit is de URL die de Lync client gebruikt voor het uitvoeren van een zoekopdracht. 
SPSearchInternalURL en SPSearchExternalURL worden opgegeven in het volgende formaat:

http://<server>/_vti_bin/search.asmx

  • SPSearchCenterInternalURL
  • SPSearchCenterExternalURL

Dit is de URL die de Lync client toont onderaan de zoek resultaten. De link opent de zoekresultaten in SharePoint.
SPSearchCenterInternalURL en SPSearchCenterExternalURL worden opgegeven in het volgende formaat:

http:// <server> /SearchCenter/Pages/PeopleResults.aspx


Configureren van een Client Policy via Lync Server Management Shell, het Lync Global Policy wordt gebruikt waardoor Skill Search voor iedere gebruiker beschikbaar is.

De volgende commando’s activeren de Skill based search URL’s

Set-CSClientPolicy –SPSearchInternalURL http://<server>/_vti_bin/search.asmx
Set-CSClientPolicy –SPSearchExternalURL http://<server>/_vti_bin/search.asmx

image

image

De volgende commando’s activeren de Search Center URL’s

Set-CSClientPolicy –SPSearchCenterInternalURL http://<server>/SearchCenter/Pages/PeopleResults.aspx
Set-CSClientPolicy –SPSearchCenterExternalURL http://<server>/SearchCenter/Pages/PeopleResults.aspx

image

image

Na het opnieuw opstarten van de Lync client ontvangt de client de SharePoint URL's.
Je kunt controleren of de Lync client de URL's heeft ontvangen door de Ctrl-toets ingedrukt te houden, rechts te klikken op het Lync pictogram in de system tray, kies Configuration Information.

image

De SharePoint URL’s zijn nu zichtbaar in het Configuration Information overzicht.

image

Open de Lync client en zoek op vaardigheid of expertise.
Klik op Skill, er wordt een zoekopdracht via SharePoint uitgevoerd en de resultaten worden weergegeven in de Lync client.

image

Klik op View results in SharePoint, SharePoint People Search Center wordt geopend met de zoekresultaten.

image

Tags: | |

Error: The search request was unable to connect to the Search Service

by Marco Rietveld 14. april 2010 23:36

Een oplossing voor de foutmelding in SharePoint search, the search request was unable to connect to the search service.

image

Stap 1

  • Central Administration –> Application Management –> Office SharePoint Server Shared Services –> Create or Configure this farm's shared services
  • Shared Services Provider –> Edit Properties

    image 
  • Onder Index Server controleer server of selecteer juiste index server

    image

 

Stap 2
voer het volgende uit via de command prompt

Single Server

  • stsadm -o osearch -action stop
  • stsadm -o osearch -action start -role indexquery


Server Farm

Op de Front End Web/Query server:

  • stsadm -o osearch -action stop


Op de Index server:

  • stsadm -o osearch -action stop
  • stsadm -o osearch -action start -role index

Op de Front End Web/Query server:

    stsadm -o osearch -action start -role query

     

Tags: | |

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2018 SharePoint Geek