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
NThoman What is the issue with search query you are using? Is it throwing any error or is it not returning the expected search results?
Try using date range once like below:
ReportDate>=1900-01-01 AND ReportDate<=1900-01-01
Use correct managed property name of your date column.
References:
- SharePoint CSOM Query Keyword Filter On Date Time Type Column
- Filtering query string results by date range
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.
- ganeshsanapMar 05, 2024MVP
NThoman ReportDate is list/library level column or site level column?
I think you are trying to use the internal name of your list/site column - which does not work with search queries.
You have to use the name of managed property associated with your column. If you are using site column, managed property will be created automatically for you. But if you are using list/library level column, you have to use the existing managed property and map it with the crawled property associated with your list column.
Check: Showing list column in search results
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.
- NThomanMar 07, 2024Iron Contributor
I am using the correct Internal Name
/sites/Reports/Reports/?newTargetListUrl=%2Fsites%2FReports%2FReports&FilterField1=ReportRun&FilterValue1=
FilterField1=ReportRun
$SiteURL = "https://GIVEITASHOT.sharepoint.com/sites/Reports" $SearchQuery = "ReportRun<=1900-01-01 Path:" + $SiteURL #Even tried using the mapped Refinable Feild I mapped. #$SearchQuery = "RefinableDate01<=1900-01-01 Path:" + $SiteURL Connect-PnPOnline -Url $SiteURL -Interactive Write-Host "Searching for: $SearchQuery" -ForegroundColor Cyan $SearchResults = Submit-PnPSearchQuery -Query $SearchQuery -All -SortList @{Created="Descending"} $SearchResults
Give it a shot on your side. You need PowerShell 7 and the latest version of PnP installed.
- ganeshsanapMar 08, 2024MVP
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.