Introduction to SharePoint Online Search
Microsoft SharePoint Online Search is an integral part of SharePoint Online and it is the backbone of many features across Office 365. Below is a list of a few features that are driven by search and used daily:
- Enterprise Search center
- Site Search
- List and library search
- Search Web Parts
- “Shared with me” view in OneDrive for business
- Usage and popularity trends
- DLP, eDiscovery Searches, and Retention
How Search Works
Search in SharePoint Online is composed of two main components: Crawl and Indexer. The crawl and indexer are shared resources and will process content for all tenants it has been configured to crawl and index. In support we often receive questions asking, "Why is there such a variance in the time it takes for item/site changes to be reflected in search? Sometimes it is very quick and other times it is extremely slow." The reason for the fluctuation in time taken is that both the crawl and indexer process content updates, adds, and deletes for all tenants in the farm and not just one tenant. The crawl and indexer have work queues that are used to process their work items. The following provides more information on purpose of the crawl and indexer: crawl and indexer:
- The crawl is responsible for retrieving and processing the content into a specific format that can be used by the indexer to create the binary index. The crawler will retrieve “content” from content and user profile databases; perform content transformation and language normalization; and if successful send the information to the indexer. SharePoint Online has two types of crawl jobs to process all content changes (adds, deletes, and updates) from all tenants in the farm:
- Continuous crawl: multiple instances running simultaneously on a 15 minute schedule.
- Incremental crawl: only one instance can run at a time. It is scheduled to run every 6 hours. A new incremental crawl can only begin once the previous incremental crawl has completed. When the change queue has a large quantity of items, the run time of this job will be extended.
- Security crawl: a continuous crawl used to update permissions to content.
- The indexer is responsible for receiving the processed content from the crawl and then creating a binary index what users will search against.
All new and updated content is generally processed by the continuous crawl. As the continuous crawl runs every 15-minutes, and it works through its queue, most content is indexed within 20-60 minutes. If the continuous crawl encounters errors while processing content, that content will be marked for re-crawl by the next incremental crawl. Note: User Profiles are always processed via an incremental crawl.
Troubleshooting steps for when expected content is not appearing in search
The following steps are a good starting point to investigate search issues prior to opening a support case.
- Resubmitting content to the crawl - One of the first things that we recommend trying is re-indexing the content, as it effectively addresses and resolves most issues. In SharePoint Online, users can take the following actions to resubmit content to be processed and retried by the continuous crawl:
- Only a few pages, documents, or items: If only a few pages, documents, or items need to be updated then make a small change to one of the properties. This will add it to the continuous crawl queue.
- If a Site, list or library, re-index the library: Manually request crawling and re-indexing of a site a library or a list
- User Profiles: There is no way for administrators/users to request a re-crawl of user profile properties via SharePoint Admin Center. If you need to a re-crawl of user profiles, you can open a case to support requesting a re-crawl or utilize the script third party scripts in the next section.
- Scripts to re-index: You can develop scripts to re-index content. The following are good examples to get you started. (Please note: We do not support the script itself and are providing as is without any guarantees or warrantees)
- Confirm if the content is searchable via different search criteria – For example, see if searching for the page/item/document in the list or library returns the expected file/item. If it returns, then the issue is related to query configuration. We are planning a future blog post on common query configuration issues. If it doesn’t return, then it still could be in the process of being crawled or indexed.
- Verify that the page/document/custom page layout is a Major published version – the crawler will only crawl major versions that are published. More information on determining this is found in this article under Step 3.
- Verify that the site, list, library or user profile are set to be returned in search
- Site, List, Library: Enable content to be searchable
- User Profiles: Check if users are excluded from Delve and SharePoint online people Search
- Pages are not returning in search as expected – your site may be using friendly urls which changes how pages are returned in search. Review this blog to see if this is the behavior that you want you want for your pages: Friendly URLs and search results
- Verify that sites/list/libraries are set to be searchable - Enable content on a site to be searchable
- Verify that it is within supported limits and boundaries - Search limits for SharePoint Online
Monitoring Crawl and Indexer for SharePoint Online Search
SharePoint Online does not provide a real-time dashboard for monitoring the status of the crawler or indexer. Each crawl and indexing job will take a varying amount of time.
When to open a Support Case
We recommend opening a support case if content is not being reflected as expected in search within 24 hours. We understand that certain scenarios have a higher impact to your business (high visibility, project deadline, etc.) and require a better understanding of what is occurring, so please do not hesitate to engage support. When you engage support please provide the following:
- The URLs for a few pages/list items/documents you are expecting to see in search.
- The search query or queries you are using.
- An overview of the objective you are trying to reach, such as expected outcome and current outcome.
- Information on the outcomes of the troubleshooting steps taken.
If you have any feedback or suggestions for search, please submit those suggestions to https://sharepoint.uservoice.com/. The Product Group checks the requests and feedback on a regular basis and uses this feedback for new features and enhancements to the product.
Authors: Sridhar Narra [MSFT], Tania Menice [MSFT], Yachiyo Jeska [MSFT]
Contributors: Paul Haskew[MSFT], Steffi Buchner [MSFT], Tony Radermacher [MSFT]