Microsoft Search demystified! Provide configurable search options in SharePoint, Teams & OneDrive

Microsoft Search is the unified search experience that is prevalent across Microsoft 365. Microsoft Search gives users contextual search results depending on the app they search from, be it form Word or Excel, through to SharePoint, Teams & OneDrive.

Intro

If your familiar with SharePoint search you might think this is a doddle to set up. Know your crawled properties from content sources? Managed metadata from managed properties? Well, this might not help you for modern search as not all contextual app based search results are created equally, specifically Teams and SharePoint…

Within the settings of the M365 admin center there is section called search & intelligence where you can gain access to the following configurable options within Microsoft Search:

  • Acronyms: Admin or system curated acronyms/ abbreviations used by an organisation or team
  • Bookmarks: Helps users find important information with just a search. Each bookmark includes a title, URL,  keywords and a category.
  • Floor plans: Floor plans in Microsoft Search help users find people, rooms, and spaces within a building.
  • Locations: Helps your users find addresses and locate your organization’s buildings by providing an accurate location.
  • Power BI: Support for Power BI dashboards and reports to make it easier for users to find data & analytics
  • Q&A: Creating a Q&A is similar to creating bookmarks. Answer user’s questions instead of just providing a link to a webpage.
  • Result types & verticals: Result types define how search results are shown on the page based on conditions and rules. Search verticals are tabs on the search results page that show results of a specific type or from a select source.

The problem

For all of the above options within Microsoft 365, there is a varied amount of consistency as to how each option displays within specific apps, or in some cases do not display at all. For SharePoint all of the above search options do not display in the default search results of a given site. SharePoint communication or team sites search scope is to search just the site by default. Hub sites will search the hub, plus any associated sites to the hub.

None of the above search options display from within Teams, either via the desktop app or via the browser. There also isn’t a link to organisation, or a way to see all files etc. from the search experience within Teams.

Microsoft documentation says that Acronyms, Bookmarks, Floor plans & Location only show answers on Bing, SharePoint, and Office 365. Power BI search results display in the Windows search box, SharePoint, Office 365, and Bing.

Solutions and workarounds

I only really have a solution as such for SharePoint on this one, as for Teams and OneDrive there is very little you can do to change the search result options as far as I know.

For SharePoint, the only way currently to get these options to show is to change the scope of your site. There are three search scope parameters:

  • 0 – default scope, effectively site
  • 1 – tenant
  • 2 – hub
  • 3 – site

To change the scope of your site search, you need PowerShell/ PnP. You’ll also need to be a SharePoint admin to run it, but if you are you can run this cmdlet to change the scope to tenant wide:

Connect-PnPOnline -Url https://contosodemosg.sharepoint.com/sites/Strategy -UseWebLogin
# this will prompt you to sign into your site. Use the site owner credentials to sign in

$web = Get-PnPWeb
$web.SearchScope = 1
# 1 for Tenant, 2 for Hub, 3 for Site, 0 for default behavior

$web.Update()
Invoke-PnPQuery

Once your cmdlet has run successfully, you’ll notice the change in the site targeted as when a search is initiated it will default to the “organisation” wide search results by default, showing any of the configurable options you’ve set up within Microsoft Search.

SharePoint site configured to have a tenant-wide search scope, showing a custom configured location within the search results page.

For OneDrive on web, the search experience is subtly different than SharePoint or Teams. When you search there are the following options via a drop-down: My files, All files, or Whole organisation. All files is the default setting, but you can select the scope of your search before hitting enter, or change the scope after your results are returned.

In OneDrive for web, there is a toggle within the search bar that lets you select the search scope.

Things to consider

#1 Intranet search results will not be scoped

If you are building an intranet solution or already have one in place, changing the search scope will bring in search results from Teams, SharePoint & OneDrive, so it will not be ring fenced to just “intranet” content.

#2 All sites which require the scope change will need updating

You will need to change the scope for all the sites you wish to search tenant wide. So if you have an intranet solution, all sites will need this change applying.

#3 Ensure you have the correct admin roles

When I was creating Bookmarks/ Answers/ Locations etc. I originally gave my account the Search Administrator role. This displayed more config options within search & intelligence, but when it came to publishing, it threw up the dreaded “something went wrong” error. To be able to publish, I needed to also apply the Search Editor role.


Two ways to remove search results in SharePoint

In this post we will take a look at two different ways to remove search results in classic and modern SharePoint.

Introduction

There may be occasions in SharePoint where you are required to remove an item, or items from the search results. When we are talking about search results, we are referring to the items that are returned when a user initiates a search in SharePoint.

Search results in modern SharePoint.

Click on one of the buttons below to find out more about how you can remove search results in both classic and modern SharePoint:

How to build a knowledge base in SharePoint

This post will detail step-by-step how to build a knowledge base using the modern authoring experience in SharePoint Online.

Contents

Intro

SharePoint and knowledge bases have gone hand in hand for many years. If you have been involved with SharePoint for any length of time it is not an uncommon request to be asked to build a knowledge base at some point. With the advent of AI and machine learning within Microsoft 365, plus the introduction of Knowledge & Content Services (formerly Project Cortex), SharePoint Syntex and Microsoft Viva Topics, you may think the need to build a traditional knowledge base has gone the way of the dodo.

Well the pricing of the above services means that my organisation won’t readily adopt these new things, so for now at least continuing to leverage metadata rich lists & libraries will have to suffice! Here’s how I built a knowledge base in SharePoint Online…

IT Knowledge base image

Site features

  • Custom site theme/design
  • Mega-menu navigation
  • PnP modern search V3
  • Custom page templates
  • Site Pages library with additional metadata
  • Lookup value lists
  • Change log list

Web parts used

  • Image with colour block
  • Search box
  • Highlighted content
  • Image/ text
  • Page properties (KB articles)
  • Search results web part
  • Searh filters web part

Approach

I wanted to leverage the modern page authoring experience for creating pages, as there are several people adding content to the knowledge base (KB). So with that in mind the knowledge base is built around the Site Pages library, using the metadata applied to each knowledge base article to drive dynamic web parts throughout the site such as search, page properties and the highlighted content web part.

Within the KB, all KB articles get categorised by the type of technology, application and product they fall under. These work for my KB as I can fit KB articles within these headings. For example:

KB article: How to fix the sync connection in SharePoint 2010

TechnologyApplicationProduct
MicrosoftSharePoint ServerSharePoint 2010

Site Pages library

As mentioned above, the Site Pages library is the lynchpin to the entire knowledge base. Starting with the Pages library, I created columns to capture additional metadata about each KB article. Here are the columns I created:

Technology: lookup column, values held in custom list
Application: lookup column, values held in custom list
Product: lookup column, values held in custom list
Knowledge Type: choice column
Topic: Managed Metadata column
Contact: Person or Group

Technology, Application & Product are what drive each view within the Site Pages library. I have created a view for each Technology and Application, which are used for web parts embedded within the relevant pages (for example: Microsoft).

Product is used as a way to formalise the type of KB articles that are created (for example: Procedure), with Topic effectively being a way to tag KB articles with a wider variety of terms to aid searching and filtering.

Custom site theme/ design

I originally provisioned the site based on the news, resources, actions template in the SharePoint look book. From here I created a simple custom site theme following the excellent blog post how to configure and apply a custom theme in SharePoint Online by Greg Zelfond.

The only thing I did different is I used a different website to generate my theme which you can use here. This theme generator site allows you to access more of the colours that are used when creating a theme to potentially create a multi-coloured theme. For more information of this check out another great post by Laura Kokkarinen here.

Use a theme generator to create a custom theme for your SharePoint Online site.

Homepage

The homepage of the knowledge base is broken down into three key areas: search, recently added and the browse area.

Search: Search web part as part of the PnP modern search solution V3. Connected to a custom search results page (more information below).

Recently added: Highlighted content web part that only shows pages from this site, filtered by recently added earlier this year.

Browse: Three column section consisting of images, text and button web parts. I used the images from the look book template to get the correct sizing for the images above. When updating the images I noticed they didn’t update immediately which I wrote about how to fix here.


The navigation for the KB has been created using the mega menu option within the Change the look > Navigation options. The links have all been created manually for each section, with each link going to either a dedicated page or a view created from the Site Pages library.

Mega menu navigation in the IT KB.

Search web part

The search for the knowledge base is all based on web parts from the PnP modern search solution V3. From the homepage there is a search web part. Before configuring the search web part on the homepage you will need to create and configure the search results page and web part as it is required as a data source. I followed the guidance from the PnP modern search solution documentation to configure the search web part with the following properties:

The search web part configuration on the knowledge base homepage.

Search results

The search results is a dedicated page created within the knowledge base that includes the search box, search results and search filters web parts. The search box web part is configured in exactly the same way as on the homepage and just serves as a consistent way to see your search results and search again if required.

The search results web part has been added to a separate, one-third left section underneath the search box web part shared with the search filters web part. The search results web part has the following settings:

Connect to source: Page environment
Page environment’s properties: Search
Search: Search query
Use a default search query: No
Query template: {searchTerms} Path:{Site.URL} FileType=aspx
Result source identifier: No
Sort order: Created, size
Sortable properties: None
Connect to a search refiners web part: On
Use refiners from this component: Filter
Connect to search verticals: Off
Enable query rules: On
Include personal OneDrive results: Off
Selected properties: {searchTerms} Path:{Site.URL} FileType=aspx
Refinement filters: None
Show paging: On
Number of items per page: 30
Number of pages: 4
Hide navigation: No
Hide navigation if disabled: Yes
Results layout: Simple list

Search filter web part

The search filter web part has been added to the search results page with no additional configuration changes made. Don’t forget (like I did), to get the search filter web part to start to work with your search results, you need to turn it on within the search results web part – under connect to a search refiners web part!


Page templates

I’ve used page templates within the knowledge base to standardise the layout of each KB article. At the time of writing there are only two templates to choose from: an application template or new KB article.

Example KB article page template

The KB article page template includes a page properties web part that shows the Knowledge Type, Contact and Topic.

The layout of each KB article page template is as follows:
One-third right section: Text web part (left), Page properties web part (right)
One column section: Two text web parts
One column section: Two text web parts

How to create a page template

  • Create or open the page you want to use as your template
  • Press the down arrow next to the save button > Save as template

Page templates will now appear under saved on this site when creating a new page. Templates are also saved in a “Templates” folder within the Site Pages library.

Create page templates to standardise how knowledge is created.

More information on how to manage and delete templates can be found here.

Issues & next steps

Dependant drop-down lists, Power Apps and the Site Pages library

One area I would like to improve on is including the ability to have dependant drop-downs for Technology, Application and Product when applying metadata to KB articles. When creating the KB, I did work on two ways to achieve this- but they both fell short in the end.

My first attempt was to customise the Site Pages library new and edit forms using Power Apps. I used this article by Microsoft on how to create dependent drop-down lists in a canvas apps as a starting point, but had to make some changes to account for the additional third level of drop-down. Although I got this working within the context of PowerApps, I had to abandon this method as creating new pages in the Site Pages library via Power Apps is not supported. My experience was that once I customised the form in Power Apps, it pretty much broke the Site Pages library. I was unable to create new pages and it would default to an old style wiki page and not let me create modern site pages.

Custom forms for document libraries only supports editing custom metadata. Editing or managing file(s) is not supported.

https://docs.microsoft.com/en-us/connectors/sharepointonline/

After this failed, I also tried an older way of doing this by using JQuery and SPServices as described here.

Initially I got this to work too, but it was also a pretty poor solution when working with modern pages as the only way to actually get to the dependent drop-downs was by pressing “Edit all” which took you to the classic version of the edit properties page.

Aside from this, you also have to jump through several hoops to add in the old content editor web part, which are too numerous to describe in this post but have linked to one of them.

There was also a recent change to how classic forms work with modern lists that stopped this method working all together. Although this seems to be resolved, my understanding is you have to set your list to run in the classic experience in order to get this method to work – so I’ve scrapped this too!

I currently have no solution for dependant drop-downs, but am open for suggestions that are low code or relatively easy to implement. Feedback so far from users is that they aren’t all that bothered about it as the process to apply metadata is easy.

Images not updating when refreshing

As I was in the process of updating the KB homepage I noticed that when replacing some of the images or other assets that make up the page, they weren’t visibly updating after a forced browser refresh. I wrote a separate post called how to force images to update in SharePoint Online which details how to resolve this.

Updating the modern search solution

When I began building the KB I deployed what is now version 3 of the modern search solution. Since then the PnP team have created PnP Modern Search V4, I’ve personally decided not to update my search solution as at the time of writing V4 doesn’t support suggested keywords which is a part of my solution.


How to add best bets or promoted search results in SharePoint

In this post we will look at how you can add, edit or remove best bet keywords in classic SharePoint and how to do the same with promoted results in modern SharePoint.

Classic SharePoint

In classic SharePoint you are able to highlight search results you wish to make more prominent by using keywords and best bets. Best bets appear at the top of the search results page with a yellow star ⭐ next to them.

Best bets will appear at the top of the search results page in classic SharePoint.

Keywords and best bets are all managed centrally via the Search keywords under Site Collection Administration section within your top-level site.

How to add keywords in classic SharePoint

A keyword is a definition for common terms or phrases that are used within an organisation. Keywords are what search queries will match to return a keyword result. Before you get started, you must have Site Collection Administrator permissions to manage keywords.

  • Click the Site Actions menu, choose Site Settings
  • On the Site Settings page, in the Site Collection Administration section, click Search keywords
  • On the Manage Keywords page, click Add Keyword
Add Keyword from the Manage Keywords page in classic SharePoint.

Enter the following information for each keyword you create:

  • Keyword phrase: what the search queries will match to return a keyword result
  • Synonyms: additional words that users might type when searching for the keyword, separated by semicolons. Synonyms must be shorter or equal to 100 characters
  • Best bets: the recommended results for the keyword. Best bets will appear in the order listed
  • Keyword definition: optional text that will appear with the keyword (optional)
  • Contact: the person to inform when the keyword is past its review date (optional)
  • Start date: the date you want this keyword to appear in search results
  • End date: the date you want this keyword to no longer appear in search results (optional, leave blank for no expiry)
  • Review date: the date you want this keyword to be reviewed by the contact (optional)
How to add a keyword best bet in classic SharePoint.

How to edit/ delete keywords in classic SharePoint

  • Click the Site Actions menu, choose Site Settings
  • On the Site Settings page, in the Site Collection Administration section, click Search keywords
  • Click on the keyword you wish to edit and press Edit. When editing a keyword you are able to update all of the information listed above, plus:
    • Add additional best bets
    • Change the properties of a best bet
    • Change the order of best bets by updating the number of the Title next to the best bet
How to edit keywords in classic SharePoint.

How to delete keywords in classic SharePoint

  • Click the Site Actions menu, choose Site Settings
  • On the Site Settings page, in the Site Collection Administration section, click Search keywords
  • Click on the keyword you wish to delete and press Delete
How to delete keywords in classic SharePoint.

Modern SharePoint

Promoted results

Although a lot has changed with the advent of the modern search experience in SharePoint, you can still create and configure keywords and best bets – now called Promoted Results! Microsoft have published comprehensive guidance on how to manage query rules and add promoted results here, but summarise the steps myself below.

First you will need to consider whether you want your promoted results to appear across the tenant, a site collection or site within SharePoint before beginning. In this example I am creating a tenant-wide promoted result.

  • Navigate to the SharePoint admin center > More features > Search. Press Open
  • Within the search administration page, select Manage Query Rules
Open Manage Query Rules from within the SharePoint admin center.
  • On the Manage Query Rules page, select a result source for the new query rule (you can change this later)
  • Select New Query Rule. The new query rule has the following configuration options:
    • Rule name: enter the name for the new query rule
    • Context: restrict the rule to queries performed on a particular result source, from a particular category of topic page, or by a user matching a particular user segment
    • Query Conditions: define when a user’s search box query makes this rule fire. You can specify multiple conditions of different types, or remove all conditions to fire for any query text. Every query condition becomes false if the query is not a simple keyword query, such as if it has quotes, property filters, parentheses, or special operators
    • Actions: actions can add promoted results above the ranked results, add blocks of additional results promoted to always appear above ranked results or ranked so they only appear if highly relevant, or change ranked results, such as tuning their ordering
    • Publishing: make the query rule active during a particular time period
  • Add all the relevant information, then under Actions press Add Promoted Result
  • Add a Title, URL and Description for your promoted results
  • Make sure Render the URL as a banner instead of as a hyperlink is checked
  • Press Save
Create a new Query Rule and Promoted Result in modern SharePoint.

Now, when you search across Microsoft 365, you will be able to see your promoted result!

The newly created promoted result shows across Microsoft 365 search.

How to edit or delete promoted results in modern SharePoint

You can manage your query rules and promoted results through the Manage Query Rules page much like creating a new rule. To edit or delete a query rule/ promoted result:

  • Navigate to the SharePoint admin center > More features > Search. Press Open
  • Within the search administration page, select Manage Query Rules
  • Select the result source for the query rule you wish to edit
  • Click on the drop-down arrow next to the name of the query rule you want to change. From here you can:
    • View, edit, copy, delete or make the query rule inactive
  • If you are deleting a rule, once you press Delete you will be prompted with a message to confirm you want to delete the query rule. Press OK

Additional resources

Bonus! Use promoted results in PnP modern search solution

A nice little addition to this post is that if you have deployed the PnP Modern Search solution in your tenant then you can use best bets, or promoted results in the search results web part for this in the same way too!

NOTE: Best bets or promoted links are only supported in v3 of the PnP modern search solution.

Best Bets