Author Topic: Windows Search - Using Advanced Syntax for Custom Meta Data  (Read 5335 times)

0 Members and 1 Guest are viewing this topic.

hgwheels

  • Newbie
  • *
  • Posts: 1
Windows Search - Using Advanced Syntax for Custom Meta Data
« on: March 26, 2015, 01:55:18 PM »
Is there a way to use Windows Search advanced syntax to query custom meta-data fields?  For example I can search system metadata with a string like "System.Author:John Smith".  I have imported some metadata from the dc namespace and would like to reference this metadata in the same fashion mentioned earlier.  Under the settings for PDF-ShellTools I see that the mapping tab specifies a namespace of PDFShellTools.PDF.metadata but when I try to reference this in the search box nothing is returned.  I'm using Windows 7 x64 and have  tried using the Microsoft FixIt for resetting Windows Search.  I have also rebuilt the index and set PDF to index metadata.

RTT

  • Administrator
  • *****
  • Posts: 907
Re: Windows Search - Using Advanced Syntax for Custom Meta Data
« Reply #1 on: March 26, 2015, 07:40:49 PM »
First, make sure your custom fields data is being indexed. You can check it using the manager Windows Search index browser. If the data shows at these custom fields columns, then your custom fields are properly registered and the Windows Search indexer is correctly indexing these fields.

If when you type the field canonical name, e.g. PDFShellTools.PDF.MyCustomField: (you can also just type the field name, i.e. MyCustomField:), in the Windows Explorer search box, and the name don't turns blue, then this is a problem I'm also facing here. Somehow, the Windows Explorer/Shell fails to identify the name as a registered property. Sometimes you register a new custom field and the Shell is able to identify it, and sometimes not! If I define the same customs fields at another PC, I may get lucky and all get recognized by the Shell!

I suspect this is a bug in some component of the Windows Shell, that is used to parse the search in order to show the quick selectors by data type (e.g. the calendar), because If I query the index programmatically, i.e. by using the ISearchQueryHelper::GenerateSQLFromUserQuery method, exactly with the same AQS expression that fails in Windows Explorer, it works just fine and I get a properly defined SQL expression (i.e. the custom fields names got recognized), I can then use to query the Windows Search index successfully.
I have even added a search box (available in the next release) to the above referred Windows search index browser, where the same AQS query that fails in the Windows Explorer (when in a situation where the custom property name is not being recognized), works just fine.
Right now I'm not aware of any workaround to this problem. If you get into any solution, please let e know. Should be a way to reset any registered properties list cache the Windows Shell is not updating properly.