Lucene.NET设置权重 排序
2011-07-21 10:40
676 查看
可以给 Document 和 Field 增加权重(Boost),使其在搜索结果排名更加靠前。缺省情况下,搜索结果以 Document.Score 作为排序依据,该数值越大排名越靠前。Boost 缺省值为 1。
通过上面的公式,我们就可以设置不同的权重来影响排名。
如下面的例子中根据 VIP 级别设定不同的权重。
只要 Boost 足够大,那么就可以让某个命中结果永远排第一位,这就是百度等网站的"收费排名"业务。明显有失公平,鄙视一把。
通过 SortField 的构造参数,我们可以设置排序字段,排序条件,以及倒排。
排序对搜索速度影响还是很大的,尽可能不要使用多个排序条件。
Score = Score * Boost
通过上面的公式,我们就可以设置不同的权重来影响排名。
如下面的例子中根据 VIP 级别设定不同的权重。
Document document = new Document(); switch (vip) { case VIP.Gold: document.SetBoost(2F); break; case VIP.Argentine: document.SetBoost(1.5F); break; }
只要 Boost 足够大,那么就可以让某个命中结果永远排第一位,这就是百度等网站的"收费排名"业务。明显有失公平,鄙视一把。
通过 SortField 的构造参数,我们可以设置排序字段,排序条件,以及倒排。
Sort sort = new Sort(new SortField(FieldName, SortField.DOC, false)); IndexSearcher searcher = new IndexSearcher(reader); Hits hits = searcher.Search(query, sort);
排序对搜索速度影响还是很大的,尽可能不要使用多个排序条件。
相关文章推荐
- lucene.net 高级应用之排序、设置权重、优化、分布式搜索
- Lucene.NET设置权重 排序
- lucene.net 高级应用之排序、设置权重、优化、分布式搜索
- 用lucene3实现搜索多字段并排序功能(设置权重)
- lucene之排序、设置权重、优化、分布式搜索(转)
- Lucene.net搜索结果排序(单条件和多条件)
- (转)Lucene.net实现自定义排序笔记
- Lucene 查询权重排序因子解释(备查)
- Lucene.net搜索结果排序(单条件和多条件)
- Lucene.NET的多关键排序和条件搜索(高级搜索篇)
- 在Lucene.net实现自定义排序
- Lucene.net搜索结果排序(单条件和多条件)
- Lucene.net实现自定义排序笔记
- Lucene.net搜索结果排序(单条件和多条件)
- Lucene.net搜索结果排序(单条件和多条件)
- Lucene.Net2.9.2版本的的范围匹配与排序
- Lucene.Net2.0搜索结果排序问题
- Lucene.net实现自定义排序笔记
- (转)Lucene.net搜索结果排序(单条件和多条件)
- 开源:.NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现