Partager via


Creating and configuring 2 Search Service Application in same SharePoint 2013 farm

Description : This is for specific need of having 2 different Search Indexes in the same farm and make use of both in a same Search center site. You can have different search topologies on different search service applications in the same farm.

Steps

 

  • Create 2 Search service application namely “Search Service Application 1(Consuming)” and “Search Service Application 2(Publishing)” 

  • Create 2 web application “SSA1” and “SSA2” for 2 search center sites 

SSA1 https://sp:5001/   

SSA2 https://sp:5002/

  • Create 2 Enterprise search center site collection on these web applications 

SSA1 site: https://sp:5001/sites/Search5001   (Consuming) 

SSA1 site: https://sp:5002/sites/Search5002   (Publishing) 

  • Added 2 different content sources to each Search Service application as below 

For Search service application 1: 

  1. Local SharePoint resource : https://sp:5001 

For Search service application 2: 

  1. Local SharePoint resource : https://sp:5002  
  1. Websites: https://onlinehelp.microsoft.com/en-in/bing/ff808487.aspx  
  • Perform full crawl on all the content sources in both the Search service applications 

  • Change the proxy associations of the 2 web applications as given below, deselect the other search service application proxy 

SSA1 web application - Search Service Application 1 [default]

 

SSA2 web application - Search Service Application 2  [default] 

 

  • Verify if you can search and get the results on both the search center sites according to the content source added to it 

https://sp:5001/sites/Search5001/Pages/results.aspx?k=site  

 

 

https://sp:5002/sites/Search5002/Pages/results.aspx?k=site  

 

  • Now open Search service application 1, go to Result sources 

  • Add new result source with name “SSA2” 

 

  • Configure this “SSA2” result source as below 

Protocol: Remote SharePoint 

Remote service URL: https://sp:5002/sites/Search5002/ 

 

 

  • Go to consuming search center site -> pages library -> Create a page with name “SSA2” 

 

  • Now go to site setting and then Search settings -> Configure Search Navigation 

  • Add link -> Select the new created page “SSA2” with title “SSA2”

  • Edit the existing “Everything” link as “SSA1” 

 

  • Click Ok to save and apply 

  • Now consuming Search center site should look like below 

 

  • Edit the search center site and edit the search result web-part query to display the results from result source created “SSA2” 

 

  • Save the webpart and then the page. 

  • Clicking the Search vertical links namely “SSA1” and “SSA2” will display results from corresponding search service application 

 

Note:- You can modify the result source or the search result web part query to display the results differently for both the Search service applications in the consuming search center site

 

Published by - Sujeet Sharma

Comments

  • Anonymous
    April 17, 2015
    Is it works?in a single form can we create 2 service applications? <a href="staygreenacademy.com/">SharePoint 2013 Training</a>

  • Anonymous
    June 12, 2015
    Hi I got an SSL error at  first search afther i did all the mentioned steps. $c = Get-SPSecurityTokenServiceConfig $c.AllowMetadataOverHttp = $true $c.AllowOAuthOverHttp=$true $c.Update() Iisreset This script will allow the http and no more ssl issue. But afther i get a 401 unauthorized error... I did exeactly all the steps like you ..did i miss something?

  • Anonymous
    June 12, 2015
    The comment has been removed

  • Anonymous
    August 16, 2015
    Hi Daniel, I've got the same issue did you resolve it ? Thanks Sylvain

  • Anonymous
    September 30, 2015
    Hi Daniel, Where you got these steps? $c = Get-SPSecurityTokenServiceConfig $c.AllowMetadataOverHttp = $true $c.AllowOAuthOverHttp=$true $c.Update() Iisreset

  • Anonymous
    September 30, 2015
    Hi Daniel, Where you got these steps? $c = Get-SPSecurityTokenServiceConfig $c.AllowMetadataOverHttp = $true $c.AllowOAuthOverHttp=$true $c.Update() Iisreset Was it necessary for working with HTTPS sites?