So I was working on some custom search interfaces that my team had built and was getting the infamous “Property doesn’t exist or is used in a manner inconsistent with schema settings”.
Now usually this means that you’re trying to use a managed property without mapping it to a crawled property or before doing a full crawl after creating the managed property. Neither of these were the case for me.
In my case I was trying to search on a DateTime field, which I’d set up as a Managed Property called DocDate, and I’d decided to base the format of the search term off what SharePoint creates from the advanced search screen which is “Write>=02/03/2012”.
When I was looking for a known document in my corpus which should have a DocDate of 15/02/2012 using the search term “DocDate=15/02/25012” I was presented a familiar message, however I knew I’d wired up the Managed Property correctly.
So I downloaded the SharePoint Search Service Tool and tested another search to verify that my DocDate property was populated and getting returned, sure enough, it’s coming back in search results.
After a bit of head scratching and cursing I hit upon the problem.
I was getting bitten by the fact that the only “English” installation of SharePoint anybody can use is actually American, and their horribly broken date format is used by the query engine despite the fact that the Search Centre site has the locale set to en-NZ. A quick change of query to use ISO date formatting and BOOM! I’ve got results!
In short, SharePoint will give you the “Property doesn’t exist or is used in a manner inconsistent with schema settings” error message when it couldn’t parse a Date.