Search in SharePoint O365 – Working On It
Every find yourself sitting around waiting for your content to be searchable in SharePoint O365? I personally know I am not the only one and oddly enough I didn’t notice how big the issue was until a friend of mine asked me a few questions last weekend. My friend asked me by default how often content is crawled and can I decrease that timeframe and if so how. All great questions but due to the questions coming right after a session on User Profiles where I focus mainly on On-Prem examples I start answering without thinking :). Yeah it was one of those days…. However, I knew we had done a project that was very search driven and everything was running great. During my long trip home from the event I started doing some thinking and revisiting my notes on that project and then it all came back to me…. So Matthew Bramer his is for you. In SharePoint O365, your content is crawled automatically based on a schedule not determined by you. It does still work the same way as the crawl identifies your content that has been changed since the last crawl was ran and updates it. However, there is some good news and some bad news that goes a long with this.
The Good News
The good news is you do have some options to manually initiate a crawl or re-index of a site, library or list!!! Yay right? Here’s how you would do that…
- Go to your site, select the Settings COG > Site Settings.
- Under Search, find and select Search and offline availability.
- In the Re-index site section, click Re-index site.
- A warning appears, click Re-index site again to confirm. The content will be re-indexed during the next scheduled crawl. (Same error you get in On-Prem)
**Warning as all site re-indexing is this can cause a major load on your system so make sure you really need to do this.
Re-indexing a Document Library or a List
- Go to the site and to the Library that you want to re-index.
- In the ribbon, select the Library tab.
- In the Library ribbon, select Library Settings
- On the Settings page, select Advanced Settings.
- Towards the bottom you will see Re-index Document Library, click the button and your content will be re-indexed during the next scheduled crawl.
- Go to the site and to the List that you want to re-index.
- In the ribbon, select the List tab.
- In the List ribbon, select List Settings
- On the Settings page, select Advanced Settings.
- Towards the bottom you will see Re-index List, click the button and your content will be re-indexed during the next scheduled crawl.
Changing Managed Properties & Re-indexing
Managed properties are only kept in the index which essentially means that when you search you are searching for a managed property. With that being said it also means that to get the metadata and content you need from your documents into your search index, the crawled properties must be mapped to managed properties for it to work.When you change a managed property, or change the mapping of a crawled and managed propertiy, the site must be re-crawled before your changes will be reflected in the index. All changes are made to the search schema and not the actual site. To ensure your changes are crawled and fully re-indexed, you must request a re-indexing of the site (See Steps Above). If you changed a managed property or its mapping in a list or library you will have to initiate a re-index for those (See Above). Once the next crawl has ran everything will be searchable and ready to be used.
The Bad News
Default Crawl for Office 365?
Based on what I had heard previously and then after scouring blog sites I was not the only one that thought that I had read that a delay of up to 15 minutes would be expected in Office 365. As long as your using “Continuous Crawl”. Now also as many other have found out form the Office 365 Service Descriptions – Search page it now states that this is not the case. It is managed on the back-end, but no way were any of us expecting some very long delays at times. Very few times I must catch it at the right time or something but for the most part you can sit around and stress over it and wonder if you will be ready for Go Live or that big meeting that depends solely on it working. As I sat as a passenger this past weekend I located a KB article that was some what enlightening or frustrating…I haven’t decided yet. KB2008449– Search doesn’t return all results in SharePoint Online
“Search crawls occur continuously to make sure that content changes are available through search results as soon as possible. Recently uploaded documents may not immediately be displayed in search results because of the time that’s required to process them. SharePoint Online targets between 15 minutes and an hour for the time between upload and availability in search results (also known as index freshness). In cases of heavy environment use, this time can increase to six hours.”
Clearly something that made me cringe and wonder how I explain that to my SharePoint O365 clients. In addition, based on one of my previous projects and the issue my friend described delays can be much longer than 6 hours!! On my return to my office from my trip I submitted a ticket with Microsoft to inquire the “true story” as I want to make sure I fully understand the issue, the impact and time to resolution so that I can have answers for my clients as well as find alternate solutions for our development team. Microsoft was actually quick to tell me that this is pretty normal right now and that the development teams are working on the situation. It very much sounded like a canned answer so that told me that I am not the only one that has called and\or submitted a ticket on this issue. I did ask if there was a timeframe on short term and long term improvement and she repeated her previous statement to me again :). She did state if you are currently having the issue I’m sure if you wait about 12 to 24 hours you will see your content. I then asked if there were any other areas that I should be aware are not updating properly or as often as I would expect. After a lot of back and forth I was able to confirm that audience compiling only occurs once a week and full synchronization occurs on User Profiles on “most” weekends. I did ask why “most” weekends and I did not get a straight answer but I assume due to the same types of issues with the crawl at this point. Any ways, the time to index has now went from 6 to 12 to 24 hours just in my brief inquiries these last 2 days. Regardless how you look at it this is not good so need to find ways around search to meet the requirements of users and hope that its a short term situation.
Some Work Around Ideas (I’m No Developer)
Based on my readings there are some alternative solutions that you can utilize for projects that are very search-driven. I will be working with my developers in the coming days to ensure the alternatives fit into various scenarios and potentially some downfalls of them. However, I figured I would go ahead an share some of those so that my article was more complete as I feel like Sheldon from The Big Bang Theory if I don’t fully finish something I start :). Alternatives
- Search-driven functionality – Utilizing query rather than search (e.g. if you do not need to aggregate across site collections)?
- Use a hybrid solution
- Wait for Microsoft to fix the issue(s)
If my developers come up with any new information or more alternatives I will make sure they share and update this post with a link to their solution.