我的查询如下
result = client.Search<MyContentClass>(s => s
.Query(a =>
a.MatchPhrase(m => m.OnField("_all").Query(m_strSearchQuery))
.From(intFrom)
.Size(intSize)
.Highlight(h => h
.PreTags("<b style='color:orange'>")
.PostTags("</b>")
.OnFields(f => f
.OnField(e => e.Title)
.OnField(e => e.Content)
)
)
);
然后我将结果设置为变量,即我的转发器的数据
var documents = result.Hits.Select(h => h.Source);
this.rptSearch.DataSource = documents;
this.rptSearch.DataBind();
this.rptSearch.Visible = true;
我没有看到我的结果中突出显示的任何条款,也没有看到高亮标记中包含的术语......
我做得对不对?
答案 0 :(得分:-1)
要点存储在Hightlights
对象的Hit
属性中。
您可以通过以下方式访问它们:
result.Hits.Select(h => h.Highlights.Values.Select(v => string.Join(", ", v.Highlights)))
希望它有所帮助。