2010-12-02 13 views
2

FAST検索のためのカスタマイズされたSharePoint 2010 Webパーツを開発しようとしています。私はRepeaterコントロールにsearchResults[ResultType.RelevantResults]をバインドするために行くSharePoint 2010のFAST検索でKeywordQueryを使用してHitHighlightedSummaryのHTMLをプログラムで生成

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(); 

:私はこのようなMicrosoft.Office.Server.Search.Query.KeywordQueryなものを使用しています。私はFASTquery.HighlightStringValue()を呼び出すことによって "ヒットした要約"を表示しようとしています。私が渡している値は、HitHighlightedSummaryからsearchResultsまでです。値内に入らない」FASTquery.HighlightStringValue()はメッセージと共にSystem.ServiceModel.FaultExceptionを投げている、

<ddd/>FALSE); GetDlgItem(IDC_<c0>EAR</c0>_PAIN_STATIC)-&gt;EnableWindow<ddd/>FALSE); GetDlgIte(IDC_<c0>EAR</c0>_PAIN_ABSENT_RADIO<ddd/>FALSE); GetDlgItem(IDC_<c0>EAR</c0>_PAIN_MILD_RADIO<ddd/> 

しかし、このような文字列で呼び出されたとき:「耳」を検索する際に何本の例では、結果のためにのように見えます期待される範囲。

この抜粋をHTMLに変換する正しい方法は何ですか、または別の値でHighlightStringValue()を呼び出す必要がありますか?ドキュメントは特に役立たない。

+0

FASTquery.HighlightStringValue()への呼び出しのコード –

答えて

5

通常、ヒットしたサマリーマークアップをHTMLに手動で変換します。あなたは要約で二つのマーカーの組み合わせを見つけることができます:

  • <C0> </C0 >(ハイライト)
  • < DDD/>(省略記号)

の手動変換マークアップは次の文字列の置換と同じくらい簡単です:

string hitHighilghtedSummary; 
// ... 

hitHighlightedSummary = hitHighlightedSummary.Replace("c0", "strong").Replace("<ddd/>", "&#8230;"); 
関連する問題