Forum Discussion
Submit-PnpSearchQuery Filter on Date
- Mar 18, 2024
Correction... that wasn't returning quite the right results also... however... this is:
$SearchQuery = "(NOT RefinableDate01>1900-01-01 Path:" + $SiteURL +"/Reports/)"
This was a useful resource:
https://www.techmikael.com/2023/04/filter-on-managed-properties-in-search.html
You have to use the managed property associated with your list column, DO NOT use internal column name with SharePoint search.
Steps to map list column with managed property in SharePoint Online: How to sort by name with the Highlighted Content Web Part?
Related documentations:
- Overview of crawled and managed properties in SharePoint Online
- Manage the search schema in SharePoint
Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.
I am using the internal name. It's why I create my fields without spaces first and then rename them later so you don't end up with all that extra junk. As you can see in the URL... I am using the internal name "ReportRun".
Search web parts work fine. I am trying to use PowerShell to find all the files with missing data so I can kick off a task to have Syntex re-process them so the field can get populated.
- NThomanMar 15, 2024Iron Contributor
I figured it out. You need to do a couple of things first..... Go into SharePoint Admin Center and set one of the RefinableDateXX fields to your custom date field in the Advance Search Settings. Then do a full index of the document library. Give this 24 hours. Once indexed you need to use the -Refiner switch. So find all files in the library and then refine the results for those with 1900-01-01 as the date (SharePoints Empty Date Value).
$SearchQuery = "(Path:" + $SiteURL +"/Reports/)" $Refiner = "RefinableDate01(discretize=manual/1900-01-01)" Connect-PnPOnline -Url $SiteURL -Interactive Write-Host "Searching for: $SearchQuery" -ForegroundColor Cyan $SearchResults = Submit-PnPSearchQuery -Query $SearchQuery -All -SortList @{Created="Descending"} -Refiners $Refiner
- NThomanMar 18, 2024Iron Contributor
Correction... that wasn't returning quite the right results also... however... this is:
$SearchQuery = "(NOT RefinableDate01>1900-01-01 Path:" + $SiteURL +"/Reports/)"
This was a useful resource:
https://www.techmikael.com/2023/04/filter-on-managed-properties-in-search.html