J'essaie de développer un composant WebPart SharePoint 2010 personnalisé pour la recherche rapide. J'utilise Microsoft.Office.Server.Search.Query.KeywordQuery
quelque chose comme ceci:Générer par programme le code HTML pour HitHighlightedSummary à l'aide de KeywordQuery dans la recherche rapide pour SharePoint 2010
var FASTquery = new KeywordQuery(proxy)
{
ResultsProvider = SearchProvider.FASTSearch,
QueryText = queryText,
ResultTypes = ResultType.RelevantResults | ResultType.RefinementResults
};
FASTquery.SelectProperties.AddRange(
new string[] { "Title", /* ..., */ "HitHighlightedSummary" });
ResultTableCollection searchResults = FASTquery.Execute();
je vais à lier searchResults[ResultType.RelevantResults]
à un contrôle Repeater
. J'essaie de faire apparaître le "résumé en surbrillance" en appelant le FASTquery.HighlightStringValue()
. La valeur que je passe est la HitHighlightedSummary
de searchResults
. Un exemple de ce que cela ressemble à un résultat lors de la recherche pour « l'oreille » est la suivante:
<ddd/>FALSE); GetDlgItem(IDC_<c0>EAR</c0>_PAIN_STATIC)->EnableWindow<ddd/>FALSE); GetDlgIte(IDC_<c0>EAR</c0>_PAIN_ABSENT_RADIO<ddd/>FALSE); GetDlgItem(IDC_<c0>EAR</c0>_PAIN_MILD_RADIO<ddd/>
Cependant, lorsqu'elle est appelée avec une chaîne comme celui-ci, FASTquery.HighlightStringValue()
jette un System.ServiceModel.FaultException
avec le message « La valeur ne tombe pas dans le gamme attendue. "
Quelle est la bonne façon de convertir cet extrait en HTML, ou devrais-je appeler HighlightStringValue()
avec une autre valeur? La documentation n'est pas particulièrement utile.
S'il vous plaît partager le code pour votre appel à FASTquery.HighlightStringValue() –