此功能会“高亮显示”匹配查询的字词(通常使用标记),包括匹配字词周围的文字片段。
要启用高亮显示,请包括HighlightingParameters QueryOptions对象,其中包括要应用高亮显示的字段。
示例代码:
var results = solr.Query(new SolrQueryByField("features", "noise"), new QueryOptions {
Highlight = new HighlightingParameters {
Fields = new[] {"features"},
}
});
foreach (var h in results.Highlights[results[0].Id]) {
Console.WriteLine("{0}: {1}", h.Key, string.Join(", ", h.Value.ToArray()));
}
将打印例如:
features: <em>Noise</em>Guard, SilentSeek technology, Fluid Dynamic Bearing (FDB) motor
如果您需要指定其他参数,例如特定字段的代码段大小,则必须使用ExtraParams,然后将其添加到查询的QueryOptions对象中。
Dictionary<string, string> extraParams = new Dictionary<string, string>();
extraParams.Add("f.features.hl.fragsize", "250");
结果对象将包括:
A Highlights属性,它是一个IDictionary <string,SolrNet.Impl.HighlightedSnippets>。
字符串对应于文档uniquekey
HighlightedSnippets是一个IDictionary <string,ICollection>。 此对象指示要返回的字段,例如“features”和snppet文本“NoiseGuard,SilentSeek技术,流体动力轴承(FDB)电机”
返回的标签对应于虽然它可以直接在Solr中配置使用不同的标签。 另外,如果Solr中的请求处理程序配置为包括高亮显示,则不需要添加查询选项。
有关此功能的更多详细信息,请参阅Solr wiki和参考指南。