Modern Search - Akumina Community

Modern Search

Overview

Akumina items in a SharePoint site are natively searchable via SharePoint. These items are either documents, which are natively searchable, or articles, which are not and generally require an intermediate indexer (the PageData_AK strategy) that is then searched. You can read more about the Akumina Search Strategy here:

https://github.com/akumina/AkuminaTraining/wiki/Search:-Akumina-Framework-Strategy

However, when items need to be search via the Office 365 Modern search, then there is some configuration that needs to occur. Our solution leverages the capability of SharePoint search to adjust the URL for the search items. We have the URL needed for the item (via the calculated column), we merely tell SharePoint to use that value in place of the default URL by altering the search schema mappings.

Search Experience

The search experience has the URL for a given item sending the user to the correct URL. Searching for an article result will send the user to the article detail page; searching for a document will still land the user at the document.

This mapping is pervasive and holds no matter the way the search is accessed; for example calling the search API.

List Field

We require an additional list field that supplements the FriendlyUrl calculated column for those content items that require it.

The column FriendlyUrlSearch is added (in later 4.5.2 versions of Akumina this column is present by default), with the intent for its contents to be indexed in the search (when a value is present).

AppManager

The value of the FriendlyUrlSearch column determined in the AppManager; it is already specified via the calculated column. However, due to a SharePoint indexing limitation we need to specify this value for the item.

This is done via a the AppManager – on an add or edit, the value for this field (which will always be hidden to a content author) is set by the system via a simple formula, as shown in the table below. This value will be set when either the save, submit or publish buttons are clicked to ensure the latest value is persisted.

 

App list name FriendlyUrlSearch value
CompanyNews_AK <SiteUrl>/companynews/<ArticleTitle>#lcid=<languageid>

 

This prevents the author from needing to do anything extra to make this solution work.

Managed Property

The Managed property “ServerRedirectedURL” is the value that determines the URL for a given item – we can alter the URL presented to the user in the search results by adjusting this property.

We thus edit the mappings to crawled properties for the “ServerRedirectedURL” managed property.  We add in the crawled property for the FriendlyUrlSearch column, ows_FriendlyUrlSearch, and place it at the top of the mappings. If this value is present it is used in place of the SharePoint URL for the item (DispForm.aspx).

Views: 2393
//]]>