I have deleted a
custom crawled property related to a SharePoint column from the Search Administration > Search Schema
> Crawled properties
After that, I performed a full crawl. Once done, I checked
crawled properties availability but I did not found the crawled property
related to my SharePoint column, that’s the problem.
After some
investigations, I discovered that CTS (Content Transformation Service)
maintains an in-memory cache of crawled properties. And on subsequent
crawls, it skips properties that are already in the cache. This design is for
performance reasons. Since extracting crawled properties and updating them
in schema is an intensive operation, CTS is designed this way so that only new
crawled properties are crawled on subsequent attempts thus resulting in a much
faster throughput in terms of crawl speed. This design also helps in
reducing roundtrips to multiple databases as the property reporter talks to
both schema object model and search admin database.
So here’s how to get back the crawled properties. There are two
ways and these can be used as the scenario may be at your
environments/deployments.
1. Restart search host controller services.
Open SharePoint 2013 Management Shell in admin mode and issue the
command:
Restart-Service spsearchhostcontroller
This will restart all of the search services.
2. The above might not be ideal on environments where all search
services are running on single server since it will cause a downtime for all
search services (all noderunner.exe will be killed and spawned). In this
case, the specific content processing process can be killed (with a command as
shown below) and it will be spawned again immediately.
PS C:\> Get-WmiObject Win32_Process -Filter "Name like
'%noderunner%' and CommandLine like '%ContentProcessing%'" | %{
Stop-Process $_.ProcessId }
Enregistrer un commentaire