private void RankDetail_Loaded(object sender, RoutedEventArgs e) { var resultItem = (ResultItem)DataContext; var parser = new RankLogParser(resultItem.Xml); html = html.Replace("{RANKLOGXML}", HttpUtility.HtmlEncode(resultItem.Xml)); for (int i = 0; i < 2; i++) { string docPropsKey = "{DocProps" + (i + 1) + "}"; string rankingFeaturesKey = "{RankingFeatures" + (i + 1) + "}"; string valuesKey = "{Values" + (i + 1) + "}"; string docHitsKey = "{DocHits" + (i + 1) + "}"; if (parser.ScoreDetails[i] != null) { var props = new DocProps { _ModelId = parser.ScoreDetails[i].ModelId, _Score = parser.ScoreDetails[i].Score, _OriginalScore = parser.ScoreDetails[i].OriginalScore, _ModelType = parser.ScoreDetails[i].ModelType }; var list = new List <RenderableRankingFeature>(); BM25 bm = null; foreach (RankingFeature feature in parser.ScoreDetails[i].RankingFeatures) { RenderableRankingFeature item = null; if (feature is BM25) { bm = (BM25)feature; item = new RenderableBM25F(bm); } else if (feature is BucketedStatic) { item = new RenderableBucketedStatic((BucketedStatic)feature); } else if (feature is Dynamic) { item = new RenderableDynamicFeature((Dynamic)feature); } else if (feature is StaticRank) { item = new RenderableStaticFeature((StaticRank)feature); } else if (feature is MinSpan) { item = new RenderableMinSpan((MinSpan)feature); } if (item != null) { list.Add(item); } } props._iExternalDocId = bm.ExternalDocId; props._iInternalDocId = bm.InternalDocId; props._Language = resultItem.Language; if (i == 0) { props._Title = resultItem.Title; props._Path = resultItem.Path; } ReplaceDocumentProperties(docPropsKey, props); var ft = new RankingFeatures { _RankingFeatures = list }; ReplaceDocumentProperties(rankingFeaturesKey, ft); var values = new RankValuesList(); values._bm25Feature = new RenderableBM25F(bm); ReplaceDocumentProperties(valuesKey, values); var docHits = new RankDocHitList(); docHits._bm25Feature = new RenderableBM25F(bm); ReplaceDocumentProperties(docHitsKey, docHits); } else { html = html.Replace(docPropsKey, ""); html = html.Replace(rankingFeaturesKey, ""); html = html.Replace(valuesKey, ""); html = html.Replace(docHitsKey, ""); } } htmlControl.NavigateToString(html); }
internal BM25Helper(BM25 bm25) { this.bm25 = bm25; }
public BM25Formatter(BM25 bm25) { BM25Feature = bm25; }