top of page
Writer's pictureKasper Larsen

Use Autofill columns in PnP Modern Search

One of the new and very promising features from Microsoft Syntex is Autofill columns.



The TLDR version is that the feature allows you to define a List Column should use AI to find the best value for this metadata field.




Unfortunately, the team that created this feature either didn't know or didn't care about proper Information Architecture and thus Autofill columns can only be created as List Columns, not Site Columns, [sic]













Leon Armston

After I notified the product team about why I has not very happy about this choice, @LeonArmston (MVP) decided to have a look at the implementation in order to figure out a way to use the Autofill columns in Enterprise solutions aka in automation scripts.




I added a handful of List Columns using Autofill and assigned some values in order for the search indexer to create the crawled properties:

Crawled properties for autofill columns
Crawled properties

This also generated these managed properties:

Managed Properties for Autofill columns

If we compare this to a similar set of site columns you will notice that the _q_[DataType] only exists for the site columns



In most cases this isn't a big issue as we rarely map these crawled properties to managed properties anyway.

The only exception is the managed metadata column. When we are dealing with a Termstore termset that supports multiple languages we have to map the RefinableString managed property to the ows_taxid_[fieldname] crawled property. That is obviously not an option here, so we can only support the default language.


Mapping the crawled properties to managed properties


As you saw in the "Managed Properties for Autofill columns" picture the autogenerated managed properties for the Autofill columns ware neither searchable, quarriable nor retrievable. In order words, pretty useless.


In order to be able to use the properties in search (both SharePoint and Microsoft search) we must map the crawled properties to managed properties:

As I intend to use the properties in my Refiner, I have to map the properties to a "Refinable[type]" managed property



Managed Property

Crawled Property

RefinableDate14

RefinableDecimal00




Once mapping has taken effect, you can set up the PnP Modern Search just as usual.


Enjoy!!



95 views0 comments

Recent Posts

See All

ESPC 2024

Kommentare


bottom of page