Start Search Service Application Crawl in SharePoint 2013
I encountred this error while trying to start a full crawl on the search service application of a SharePoint 2013 farm.
Access is denied. Verify that either the Default Content Access Account has access to this repository, or add a crawl rule to crawl this repository. If the repository being crawled is a SharePoint repository, verify that the account you are using has "Full Read" permissions on the SharePoint Web Application being crawled.
After spending a lot of time googling this, I ended up founding THE SOLUTION.
Usualy this error is related to some URLs from which the search system start crawling. You can edit these URLs from the Search Service Application / Content Souces / Start Addresses
Anyway, this how you can garantee a working crawl for your Search Service ;
1. Check your Search Account
- First go to you Sharepoint central admin
- Click on "Manage service application", then "Search Service Application".
- On this screen, you have you search account in front of "Default content access account"
- This account will need some special roles and rights (permissions) to get through your data
2. Get SharePoint Web Applications being crawled
- Click on "Manage service application", then "Search Service Application". On the left menu, click "Content Sources" from the Crawling section.
- Here you will find at least on content source created by SharePoint for you : "Local SharePoint sites"
- Edit this content souce, and notice all the "Start Addresses". You will need to configure every web application corresponding to these URLs.
- Here, usualy problems came from sps3://[my-site-url]. You will see further on this ticket.
3. Giving permissions to the Search Account
- Central Administration > Application Management > Manage Web Application
- Here you have all your web applications, select everyone of those, just highlighting its line, and do the following :
- Click on "User Policy" from the ribbon
- Click "Add Users" from the popup showing, and select your Search Account. You should give Full Read permission.
4. What about the User Profile Application Service ?
- Steps 1, 2 and 3 could be good enough. But what if not ?
- Go to the UPS, the User Profile Service. Just the same way you went to the Search Service Application ? No, but almost, from the "Manage service application", Highlight UPS and click "Administrators" from the ribbon.
- Add your Search Account and check "Retrieve People Data for Search Crawlers". You could even check "Full Control", but the first checkbox should be sufficient.
5. The Search Account itself
- What you've done until now should do the trick. But what if not ? ohh ! again !
- Get back to the Search Service Application.
- Click on the Search Account, as I said befor, in front of "Default content access account".
- Set the password of this account.
- Click "OK".
Now you'll be able run your crawls whenever you want.
Nizar Joober