Abe Miessler
Abe Miessler

Reputation: 85056

Is it possible to search SharePoint metadata?

When I use the Search.asmx web service it won't allow me to search MetaData. Is there a way that I can do this?

Below is what I have come up with so far for my query, but it errors out with an InvalidPropertyException every time I run it.

<?xml version="1.0" encoding="utf-8" ?>
<QueryPacket xmlns="urn:Microsoft.Search.Query" Revision="1000">
<Query domain="QDomain">
 <SupportedFormats><Format>urn:Microsoft.Search.Response.Document.Document</Format></SupportedFormats>
 <Context>
   <QueryText language="en-US" type="MSSQLFT">
     <![CDATA[ SELECT Title, Rank, Size, Description, Write, Path FROM portal..scope() WHERE  "Published" = 'Yes'  ORDER BY "Rank" DESC ]]>
   </QueryText>
 </Context>
 <Range><StartAt>1</StartAt><Count>20</Count></Range>
 <EnableStemming>false</EnableStemming>
 <TrimDuplicates>true</TrimDuplicates>
 <IgnoreAllNoiseQuery>true</IgnoreAllNoiseQuery>
 <ImplicitAndBehavior>true</ImplicitAndBehavior>
 <IncludeRelevanceResults>true</IncludeRelevanceResults>
 <IncludeSpecialTermResults>true</IncludeSpecialTermResults>
 <IncludeHighConfidenceResults>true</IncludeHighConfidenceResults>
</Query></QueryPacket>

Upvotes: 3

Views: 2259

Answers (1)

Paul-Jan
Paul-Jan

Reputation: 17278

You can't just search an arbitrary column of metadata, you need to make sure it gets crawled first and is made available under a sensible name (managed property). See this blog post for an example.

Also, if Published is a boolean, I think you might want to test "Published" = 1, in stead of yes.

Upvotes: 2

Related Questions