Enterprise Intranet Portal – Home Site and Search Scope and Relevance

Scenario

Your organization use Microsoft 365. You are implementing or configuring an Intranet Portal.
Search plays an important role here – you want search be relevant to the context – i.e.

  • Official Results – if a user searches something on a company’s intranet portal – user expect “official” results, not a something from somebody’s OneDrive or Yammer chat
  • Promoted Results – so information management team can adjust search with search answers – Bookmarks, Acronyms and Q&As

Problem

Microsoft Bookmarks are working only if site search scope is tenant.
So if you set the site (Intranet Portal aka Home site) search scope to “site” or “hub” to limit results with site/hub content – you will loose “answers” functionality.

Solution

The solution is very simple. Keep site search scope as tenant-wide, but configure search verticals.
Specifically, you need to update Query field with KQL.
E.g., with something like

(path:http//contoso.sharepoint.com/sites/IntranetPortal OR path:http//contoso.sharepoint.com/sites/CompanyNews OR path:http//contoso.sharepoint.com/sites/Onboarding)

to get results only from “Intranet Portal” and “Company News” sites.

Verticals you configure will be affected (usually All and Files, sometimes Sites). It might take 1-24 hours for the change to take effect, depending on tenant size.

Service vs Site search

If you configure that at the tenant level – i.e., Microsoft 365 Administration -> Settings -> Search and intelligence ->  Customizations -> Verticals
then search results will be trimmed everywhere  – SharePoint Landing Page, Office landing page (Office.com), Office App, Bing search.
Teams search will not be affected as from Teams you only search for teams content. Same for Onedrive and Yammer.

If you want the “official” search results only under Intranet Portal and leave other search entry points unaffected – then
you need to configure the same at Home (Intranet Portal) site level: Site Settings -> Microsoft Search -> Configure search settings -> Verticals
and configure site search scope to site or hub scope. But in this case you will loose answers functionality.

Global search settings – like acronyms, bookmarks and verticals – works only if site search scope is tenant.
If site search scope is site or hub – then site-level search verticals will apply (and no answers functionality will be possible).

Home site is a root site

There might be two problems with that:

  1. if a home site configured as a root site – you KQL will look like
    (path:http//contoso.sharepoint.com/ OR path:http//contoso.sharepoint.com/sites/CompanyNews)

    and that query will not work as any site Url will match the root site Url.

  2. if you need to mention many sites in KQL – like 50 sites with an Official Information – you might hit the “number of allowed character” limit

The solution is DepartmentId property:

DepartmentId

Use DepartmentId={<Hub Site ID>} in the KQL qury and your search results will be limited to your hub content while answers will still be working too. You can even combine DepartmentId with other conditions to add more sites (that are not in hub) to search scope:

(DepartmentId={4965d9be-929b-411a-9281-5662f5e09d49} OR path:http//contoso.sharepoint.com/sites/Onboarding OR path:http//contoso.sharepoint.com/sites/CompanyNews)

Site Property Bag

Another possible option – site property bag.
Remember – the ultimate goal is to give users “Official” results. But official sites might not be all part of one Home site hub. There might be many official sites – e.g. operated by different departments – and all of them might want to be present in search results.
So, how about – if the site is considered official – we create an indexed site property, e.g. “SiteIsOfficial” with a value “Yes”. Then we map the crawled property to a managed property – e.g. RefinableString89 – and use this managed search property in query – e.g. (SiteIsOfficial=Yes).

Update: this is actually clever idea, but it does not work… This query would only return sites, not content.

Official Vertical

Again – the ultimate goal is to give users option to have “Official” results. But they still might want to be able to search through all content.
What if we rename the default “All” vertical to “Home Site” and configure query for official results only.
Then we can create a custom vertical called “Everything” or “All” with no query limitations to give users all reasults

Update: not a good idea either… If the home site search scope is tenant – so verticals are configured and be visible at tenant leve – i.e. everywhere…

 

Resources:

 

3 thoughts on “Enterprise Intranet Portal – Home Site and Search Scope and Relevance”

  1. Unfortunately configuring answers on site level does not work. Although the scope can be changed to tenant and the verticals on site level can be scoped to the Hub, it somehow always returns the Tenant search page as opposed to the Site search page. So the changes are never reflected. Any idea how to work around this issue?!

    1. You are right…
      Global search verticals and answers – works only if site search scope is tenant.
      If not – then site-level search verticals will apply (and no answers functionality will be possible).
      I’ve updated the article. And I do not know if there is a workaround.

      Thank you!

Leave a Comment

Your email address will not be published.