14

We have a test environment that is no longer able to successfully crawl content. The crawl logs show successful URLs, but I can't search for that content. It has worked in the past, but stopped working for some unknown reason.

This is a single SharePoint 2013 server that is crawling SharePoint 2010 farms. When looking at the search topology in the Search Service Application, I see:

enter image description here

I can also look at it with PowerShell and see that it is "degraded":

enter image description here

I tried resetting the index, but that did not help. Looking at the ULS log, I see lots of errors. Here are 3 examples:

CSSFeedersManager::session_CallbackReceived: Document 55747 processing failed. Error messages: Failed to create session with indexer; Aborting insert of item in Link Database because it was not inserted to the Search Index.; , errorID = 2147749241 hostName = EATIFSPS2013A nodeName = ContentProcessingComponent1

Component and System=Content1-a9f229cd-e4ce-43b6-88c3-fab1cc9b6d45, Correlation ID=d57ff765-1ffc-4fc9-bb65-7e0f11e9abfb, Tenant ID=0c37852b-34d0-418e-91c6-2ac25af4be5b Error code=800000, Flow Name=Microsoft.CrawlerFlow, Operator Name=InjectedOpForExceptionHandling/EventHybrid_Indexing, Message=The processing of item fails with error Failed to create session with indexer

Microsoft.Ceres.ContentEngine.Processing.Mars.MarsWriterProducer: Failed to create session for index system: SPb0bb381ca970: Microsoft.Ceres.SearchCore.Services.ContentRouter.ContentException: Unable to connect to index system SPb0bb381ca970
at Microsoft.Ceres.SearchCore.ContentRouter.ContentRouter.VerifyIndexSystem(String indexSystem)
at Microsoft.Ceres.SearchCore.ContentRouter.ContentRouter.OpenSession(String indexSystem, Action1 callback, IDictionary2 defaultPolicy)
at Microsoft.Ceres.ContentEngine.Processing.Mars.MarsWriterProducer.GetSession(String indexSystem)

I have seen where I you have multiple index partitions you can remove one and add another. If you only have one, I have read that you have to create a new search service application (as you cannot remove all index partitions). Maybe I could add one and then remove the original/bad one.

I have also seen on this blog where maybe I should open up TCP 808 ports inbound into my SharePoint 2010 sites (the content I am crawling). We didn't close these on purpose, but maybe that did happen (I'm looking into it).

EDIT: I tried resetting the index and only crawling content on the single SharePoint 2013 machine and still have the problem. I don't think it has anything to do with firewall ports (TCP 808 or other).

Any recommendations?

2
  • I failed to update my answer, but I'm pretty sure I "solved" this by re-creating the SSA. Not a good answer in most situations, and a little painful, but it worked for me. Commented Jun 30, 2014 at 13:48
  • my brand new search service application is getting created with degraded index partition, any pointers. I have already deleted it twice Commented Jul 14, 2016 at 14:54

5 Answers 5

12

Index reset + full crawl of all content sources.

http://www.thesysadminhimself.com/2013/08/sharepoint-search-index-partition-degraded.html

5
  • Index reset and full crawl is what did not work for me. Commented Jun 30, 2014 at 13:47
  • 2
    Index reset worked for me. My index partion was degraded because of a full disk. Commented Mar 4, 2015 at 8:36
  • worked for me too, i was scared to delete and recreate the SSA again :) thanks Commented Jun 4, 2015 at 16:17
  • looks like i am back again with same issue in a DEV envioronment, i have already deleted and recreated my SSA, but still coming up with degraded index component Commented Jul 14, 2016 at 14:55
  • This (luckily) worked for me as well. +1
    – AM2FTW
    Commented Aug 13, 2018 at 12:35
12

You don't have to rebuild the SSA, just create a new topology as shufler mentioned. Here's a script that I just ran with my environment info, and it resolved the problem for me :)

#set Search Service Application
$ssa = Get-SPEnterpriseSearchServiceApplication

#recreate search topology with new index component
#reset the index if the bad component is the index

#grab component name of faulty topology component and it's respective server name
Get-SPEnterpriseSearchStatus -SearchApplication $ssa -Text

#put server name where [SERVER] is.. remove the []
$hosta = get-spenterprisesearchserviceinstance -identity [SERVER]

#get the existing topology
$active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active

#copy the existing topology
$clone = New-SPEnterpriseSearchTopology -SearchApplication $ssa -Clone -SearchTopology $active

#remove the bad component, placing the name where [BAD COMPONENT NAME] is... remove the []
$ComponentID = (Get-SPEnterpriseSearchComponent -SearchTopology $clone -Identity [BAD COMPONENT NAME]).componentID
Remove-SPEnterpriseSearchComponent -Identity $ComponentID.GUID -SearchTopology $clone -confirm:$false

#create the new component, the example below is for the index specifically - create a new folder for the index so it's empty!
New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -SearchServiceInstance $hostA -IndexPartition 0 -RootDirectory F:\SPIndex 

#Set this copy as the active topology
Set-SPEnterpriseSearchTopology -identity $clone
1
  • Thanks for the answer. I'll look into this next time I have the problem. Commented Aug 22, 2014 at 0:12
2

Seems like you can’t add a new index partition component when the existing one is failing:

http://blogs.technet.com/b/peter_dempsey/archive/2013/04/11/sharepoint-2013-unable-to-change-topology-when-generation-controller-is-not-active.aspx

So this is my steps to delete and create a new search service application with the excisting databases:

Find database name

Run powershell:

get-spdatabase | select name

And locate the name of your search database. For me, it is: SP_2013_EnterpriseSearch02

Remove excisting search application

  • Go to central admin --> Application Management --> Manage Service Applications
  • Mark your search searvice application and press delete.
  • Leave "Delete data ..." UNTICKED (you don´t want to remove the database)

Or powerhshell:

$spapp = Get-SPServiceApplication -Name "<Service application display name>"
Remove-SPServiceApplication $spapp

If you cant delete it, try clean the cash http://www.jeremytaylor.net/2013/10/12/clear-sharepoint-cache/

Create new search application

run following powershell

$applicationPool = Get-SPServiceApplicationPool -Identity 'SharePoint - Search'
$searchInst = Get-SPEnterpriseSearchServiceInstance –local
Restore-SPEnterpriseSearchServiceApplication -Name 'Search Service Application' -applicationpool $applicationPool -databasename 'SP_2013_EnterpriseSearch02' -databaseserver SQL01 -AdminSearchServiceInstance $searchInst
$ssa = Get-SPEnterpriseSearchServiceApplication
New-SPEnterpriseSearchServiceApplicationProxy -Name 'Search Service Application Proxy' -SearchApplication $ssa
$ssap = Get-SPEnterpriseSearchServiceApplicationProxy 

Add-SPServiceApplicationProxyGroupMember –member $ssap -identity " "

Reset index and start a crawl

  1. central admin --> manage service application --> search service --> Index Reset (left navigation under Crawling) --> reset Now

  2. Still in Search Administration --> Content Sources --> on a content source drop down, click "Start full crawl".

1
  • I´ve added some more explanations.
    – EinarBrown
    Commented Dec 5, 2014 at 7:22
1

In a single server farm your options are really limited. The easiest method would be to recreate the Search SSA. I do this from a script and it should just take a few minutes on a decent machine.

I don't think (though I have not tried) removing and recreating the Index Component alone, but if killing the SSA is not an option you may want to try this first.

2
  • Alternatively to recreating the entire search service application you could try instead creating and activating a new topology with a new index component. This way you won't lose any of your search service configurations.
    – shufler
    Commented May 28, 2014 at 0:16
  • I just noticed this answer, Matt. It has been awhile now, but I'm pretty sure I did, in fact, re-create the SSA. I hesitate to say this is the correct answer because if faced with this situation again I may not have the luxury of re-creating the SSA. Commented Jun 30, 2014 at 13:47
0

Check index partition status in SharePoint search application if it show error (yellow colour) then try this solution

https://mysolutioncafe.blogspot.in/#!/2016/11/sharepoint-2013-search-not-workingnot.html

2
  • Please don't add the exact same answer to this question, as you did on this one. Instead, try to specify your answer further to make it a better of this specific question. Thank You!
    – Benny Skogberg
    Commented Nov 18, 2016 at 7:21
  • especially if the link is likely to go down at some point.
    – Etienne
    Commented Oct 20, 2020 at 1:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.