Building search-driven apps in SharePoint Online can be a bit finicky. Actually, there’s a lot you should be aware of if your app is going to even leverage search at all but it’s all that more important if your data is getting updated a lot and you’re using search as your content retrieval mechanism.
Here are a few tips to help manage your expectations:
- You have limited control over managed properties in SharePoint Online. For instance, you cannot create managed properties in SPO that are refinable. You have to use one of the out-of-box MP’s that are refinable. Luckily, there are a lots of them. From the managed property screen, search for “refinable” and you’ll get a list covering all data types.
- Indexing latency in SPO is variable and unpredictable. This is particularly an issue with testing but can also be an annoyance if, for instance, you’re inputting data on one screen and using search to retrieve that data on a subsequent screen. For retrieval of smaller data sets, still go at the list API’s. For larger sets of data, hopefully this indexing latency won’t impact you too much.
- When building a SharePoint-hosted app that runs in your SharePoint Online tenant, search requires tenant-scoped permissions. This means you must be a tenant admin to deploy the app. Many IT organizations might not allow an app to have this level of permission. Hopefully, we’ll see updates from the product that improve this situation.
That’s it for now. I’ll update this post as I am able to identify and document other issues.