Today, I met with a Unique requirement like on the Out of the Box Content Search WebPart, I need to populate the Discussion Board List Items. No custom development should done except the display templates. Again, I need to Sort based on the Last Updated Discussion Thread.
One peculiar thing on the Discussion Board List is, whenever a thread is being updated, the last updated date time of the initial thread will not be changed. Only the new records will be inserted unless until, we are updating that particular discussion itself.
So in this case, there is another Managed Property, which we need to use for this purpose. DiscussionLastUpdatedOWSDATE.
This Managed Property is the one which has the Thread level update information.
But again by default, this property is not sortable. We need to make this as sortable.
Already we had seen a PowerShell script for this on this link.
Again, let us have it handy here as well.
function UpdateManagedProperty([string]$ManagedPropertyName)
{
$searchapp = Get-SPEnterpriseSearchServiceApplication
$ManagedProperty = Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $searchapp -Identity $ManagedPropertyName -ea silentlycontinue
if($ManagedProperty)
{
$ManagedProperty.Sortable = $true
$ManagedProperty.update()
write-host "Updated the Managed Property" $ManagedPropertyName "successfully ...... Done !" -fore green
}
else
{
Write-Host -f Yellow "The specified managed property " $ManagedPropertyName " does not exists... Please check whether you have given valid managed property name"
}
}
And the query for the Discussion – Content Search Web Part would be
Here the ContentTypeID: 0x012002 is the content type Id of the Discussion Content Type.
Again, after updating the Managed Property as Sortable, the Sorting can be done as shown in the figure below.
Happy Coding,
Sathish Nadarajan.
Leave a comment