Solr.NET快速入门(三)【高亮显示】

来源:互联网 发布:伊藤忠 知乎 编辑:程序博客网 时间:2024/04/27 22:18

此功能会“高亮显示”匹配查询的字词(通常使用标记),包括匹配字词周围的文字片段。

要启用高亮显示,请包括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和参考指南。

0 0