dong5300 发表于 2017-12-19 18:48:38

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

  此功能会“高亮显示”匹配查询的字词(通常使用标记),包括匹配字词周围的文字片段。
  要启用高亮显示,请包括HighlightingParameters QueryOptions对象,其中包括要应用高亮显示的字段。
  示例代码:
  

var results = solr.Query(new SolrQueryByField("features", "noise"), new QueryOptions {  Highlight = new HighlightingParameters {
  Fields = new[] {"features"},
  }
  
});
  
foreach (var h in results.Highlights.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和参考指南。
页: [1]
查看完整版本: Solr.NET快速入门(三)【高亮显示】