SharePoint 2013. How to force whole list or library to be re-crawled by search
It is a new feature which was presented in SharePoint 2013 which allows to force search service to re-crawl whole list or library regardless if items where changed or not. Items will be picked up by full crawl any way but if will be marked for re-crawl they will be crawled also during incremental crawl.
This feature is very useful when new managed property is configured or site column is modified so as a result search schema needs to be updated and list owner who initially has not access to central admin to fire full crawl which will be very expensive step for large deployment and will affect a lot of content.
So this cool feature can be found in list (I will not mention library anymore) settings under Advanced Settings link.
Scroll a little Advanced Settings page and pay attention to Search block where you can enable the list to appear in search results. This option should be enabled otherwise Reindex Document feature will not have any sense.
Only then you can press Reindex Document Library or Reindex List button
In popup dialog just confirm that you are sure and want to re-index list.
Now your list will be picked up by next continuous or incremental crawl. Make a note that you do not need to scroll down on Advanced Settings page and press OK, list already marked as dirty.
I am not sure if someone will need to make the same using PowerShell or OM, but anyway drop a line in comment then we can discuss it.
Comments
- Anonymous
March 01, 2013
HiI have been looking for a way to do this using the object model (client or server). The scenario is to re-index all items because some metadata changed and items on the list will only get these updates when items are indexed as we are using the web service call out to add the metadata to item!Any hints would be most appreciated :-) - Anonymous
March 01, 2013
Hi HenrikActually there is no straight way to force.List has NoCrawl property, so the hint is to change two times that property, that means disable list for crawl, then enable. That was working for beta, not sure if it will help.Post some comments about results! - Anonymous
March 02, 2013
Beautiful :-) Well - if it Works ...Thanks for the tip - will try it out. - Anonymous
April 24, 2013
You can do it by API and also for whole web (all items in all lists). Here is more information:blog.icsharp.net/.../how-to-force-web-list-or-library-to-recrawl.html - Anonymous
May 02, 2013
@MichaelProperty is not public and for internal use. Also actually there is no API, changing property with its internal value is not API.Touching on web site level can be expensive sometimes, if you need update on lib level there is now need to trigger crawling whole web site and waste resources. - Anonymous
May 15, 2013
The comment has been removed - Anonymous
January 10, 2014
Hi to re crawl list using power shell? - Anonymous
January 20, 2014
The only way to reacrawl is to run SSA which will crawl your site, list or another content. The only thing you can do as list or site owner is just mark your list as dirty which will tell SSA to recrawl it on next inceremental step.If you do not have schema change there is no point to full recrawl your list. All your item changes will be picked up by incremental crawl job. - Anonymous
August 20, 2014
How will you specify the same through declarative xml? - Anonymous
February 08, 2015
hi i have a document library in sharepoint 2013When i search a file/document in that document library it shows no resultsCould please tell me how to configure the search - Anonymous
March 26, 2015
I absolutely love your blog and find nearly all of your post’s to be precisely what I’m looking for. <a href="http://staygreenacademy.com">SharePoint 2013 Developer training Online</a>