2010-12-01 3 views
3

Lorsque j'utilise le service Web Search.asmx, il ne me permet pas de rechercher des méta-données. Y a-t-il un moyen de le faire? Ci-dessous est ce que j'ai trouvé jusqu'à présent pour ma requête, mais il erreurs avec un InvalidPropertyException chaque fois que je l'exécute.Est-il possible de rechercher des métadonnées SharePoint?

<?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> 

Répondre

2

Vous ne pouvez pas rechercher simplement une colonne arbitraire de métadonnées, vous devez vous assurer qu'il se rampé en premier et est mis à la disposition sous un nom sensible (propriété gérée). Voir this blog post pour un exemple.

En outre, si publié est un booléen, je pense que vous pourriez vouloir tester "Publié" = 1, au lieu de oui.

Questions connexes