文档章节

solr搜索结果按更新时间与关键字相关度排序

hxt168
 hxt168
发布于 2016/07/12 10:00
字数 478
阅读 98
收藏 0

  项目中用solr(lucene内核)来完成全文检索。项目中需求是搜索文章时,返回的结果中与搜索关键词匹配度高的要靠前,更新时间近的文章也要靠前。lucene框架有一套完善的评分公式:

    coord(q,d) 评分因子,基于文档中出现查询项的个数。越多的查询项在一个文档中,说明文档的匹配程度越高。
    queryNorm(q)查询的标准查询
    tf(t in d) 指项t在文档d中出现的次数frequency。具体值为次数的开根号。
    idf(t) 反转文档频率, 出现项t的文档数docFreq
    t.getBoost 查询时候查询项加权
    norm(t,d) 长度相关的加权因子

 根据这个公式默认的排序就是 文档与搜索词匹配度越高,排序越靠前。要加入其他因素对排序影响,一般通过更改boost的值。Solr的edismax方式的bf查询配置就是更改boost值影响总体打分。

在solrconfig.xml中加入下面配置:

   <requestHandler name="/select" class="solr.SearchHandler">
		<lst name="defaults">
		<str name="defType">edismax</str>
		<str name="bf">
		recip(ms(NOW,publishTime),3.16e-11,1,1)
		</str>
		<str name="pf">
		</str>
		<str name="qf">
		</str>
		</lst>
  </requestHandler>

  bf中的公式就是1/(ms(NOW-updateTime)*3.16e-11)+1 ,ms()是两个时间的毫秒差(详见

http://wiki.apache.org/solr/FunctionQuery)。公式中:更新时间与now相差越大,分数越小;分数在0-1之内;最近的更新时间和最远的更新时间对分数影响斜度不会太大。

 

 

 

© 著作权归作者所有

共有 人打赏支持
hxt168

hxt168

粉丝 8
博文 19
码字总数 16858
作品 3
杭州
程序员
Hybris电商平台搜索服务实践

电商平台搜索服务特点 随着电商平台的快速发展和所销售商品的数量大规模增长,从大量的商品数据中快速获取用户关注的商品,变得越来越有挑战性。优秀电商平台能够吸引客户的因素之一,就是拥...

dev_csdn
05/02
0
0
Solr开发文档

Solr 是一种可供企业使用的、基于 Lucene 的搜索服务器,它支持层面搜索、命中醒目显示和多种输出格式。在这篇文章中,将介绍 Solr 并展示如何轻松地将其表现优异的全文本搜索功能加入到 We...

ibm_hoojo
2011/10/21
0
0
Solr In Action 中文版 第一章(一)

第一章 Solr 简介 本章速览: ·搜索引擎处理的数据特性 ·常见搜索引擎用例 ·Solr核心模块介绍 ·选择Solr的理由 ·功能概述 伴随着社交媒体、云计算、移动互联网和大数据等技术的高速发展...

fengstyle
2014/07/09
0
0
Solr搜索的排序打分规则探讨

http://www.colorfuldays.org/program/solr/solredismaxboost/ 使用Solr搭建搜索引擎很容易,但是如何制定合理的打分规则(boost)做排序却是一个很头痛的事情。Solr本身的排序打分规则是继承自...

zmf
2014/11/14
0
0
solr 的客户端调用solrj 建索引+分页查询

在 solr 3.5 配置及应用(一) 讲过一了 solr 3.5的详细配置,本节我们讲利用solr 的客户端调用solr的应用了! 一、利用SolrJ操作solr API 使用SolrJ操作Solr会比利用httpClient来操作Solr要简...

小样
2013/02/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

docker多容器部署lnmp环境

环境:RHEL7.5 ip:192.168.10.102,主机名:lb02 一、创建web、数据库目录 web网站目录为:/wwwroot,属主属组:www [root@lb02 ~]# mkdir /wwwroot[root@lb02 ~]# useradd -s /sbin/nolo...

人在艹木中
14分钟前
0
0
eclipse运行springboot项目报错‘找不到或无法加载主类’

这是一个很烦躁的问题~,往往困住大家好长时间,然后各种百度。借此,咱将这个问题有可能产生的原因进行一下总结。若有不完善之处欢迎大家在下面留言指出~~ Duang!问题出现 然后开始尝试解决...

Code辉
35分钟前
0
0
springboot oauth2 跨域设置

@Overridepublic void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/security/**") .authentica......

昆虫大侠
37分钟前
0
0
08-利用思维导图梳理JavaSE-泛型

08-利用思维导图梳理JavaSE-泛型 主要内容 1.泛型的基本概念 1.1.定义 1.2.使用前提 1.3.使用泛型的好处 2.泛型的使用 2.1.泛型类定义 2.2.泛型对象定义 2.3.泛型中的构造方法 2.4.泛型方法的...

飞鱼说编程
38分钟前
0
0
Docker 部署 Spring Boot 项目指南

仅想在Docker里运行一个Spring Boot项目,捣鼓了许久。。。 本文主要适用于Windows环境下的Docker 一、运行环境 Windows 10 Maven 3.5 Docker 18.06.1-ce-win73 (19507) 二、创建Spring Boot...

AmosWang
44分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部