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 (11)

  1. Henrik Nordtorp says:

    Hi

    I 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 🙂

  2. Hi Henrik

    Actually 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!

  3. Henrik Nordtorp says:

    Beautiful 🙂 Well – if it Works …

    Thanks for the tip – will try it out.

  4. Michael says:

    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

  5. @Michael

    Property 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.

  6. Michael says:

    @Armen Kirakosyan

    Hi, yeah I know, but tell it to my client… in my work we do very complex sharepoint solutions and this kind of hacks are used all the time as sharepoint API is very poor.

  7. Hi says:

    Hi to re crawl list using power shell?

  8. 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.

  9. shvibm says:

    How will you specify the same through declarative xml?

  10. Deepa Jain says:

    hi i have a document library in sharepoint 2013

    When i search a file/document in that document library it shows no results

    Could please tell me how to configure the search

  11. SharePoint 2013 Developer training Online says:

    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>

Skip to main content