`
lavafree
  • 浏览: 538661 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

solr搜索打分规制排序

阅读更多

 

solr使用了Lucene的内核,也继承了Lucene的打分规则,关于Lucene打分规则可以参考如下博客

http://blog.chenlb.com/2009/08/lucene-scoring-architecture.html

Solr内改变打分规则有几种形式:

1.配置solr的solrconfig.xml中edismax,来改变Boost打分规则

2.在solr的schema中增加一个字段,该字段专门用于排序

3.自写一个solr的评分规则。

一般简单的应用1和2就能满足。

举一个例子,电商类网站(比如淘宝)的商品搜索:

1.在商品名称上出现搜索关键字排序靠前,而内容的次之

2.对多皇冠的买家排序靠前等

3.对近期发布的商品排序靠前

4.对最近销售多商品靠前

综上获得一个综合排名

在solrconfig.xml的SearchHandler中如下配置

 

<requestHandler name="standard" class="solr.StandardRequestHandler" default="true" >
	<lst name="defaults">
		<str name="echoParams">explicit</str>
		<str name="rows">10</str>
		<str name="hl">on</str>
		<str name="hl.fl">name,content</str>
		<str name="f.content.hl.fragsize">200</str>
		<str name="defType">edismax</str>
		<str name="bf">
			sum(recip(ms(NOW,pub_date),1,1,100),div(point,5632000),div(sale_count,1000000))
		</str>	   
		<str name="pf">
			content
		</str>	   
		<str name="qf">
			name^1.9 
		</str>
	</lst>
</requestHandler>

 bf用函数计算某个字段的权重,如上例子中pub_date发布日期的权重,point比如诚信指数,sale_count销售数量

bf内字段必须是索引的,bf的函数查看solr api文档 http://wiki.apache.org/solr/FunctionQuery

pf查询字段,这样在schema不用制定默认字段

qf对默认查询增加权重比值,比如标题是content的1.9倍,值越大权重越大

这样查询就会计算如下的一个综合评分值了

 

对于其他排序,比如说价格排序,在schema增加price字段,然后查询是增加sort=price desc就可以了

 

solr这种排序方式,已经在我的诚交网易货商品搜索里实现,效果还算不错。

分享到:
评论
5 楼 xchd 2016-09-06  
您好,我在solrconfig.xml里面设置了,
查询的时候使用q=xxx。发现并没有影响评分
但是搜索的时候带上bf,可以影响排序,求解为什么在solrconfig.xml配置
没有起到作用
4 楼 shanshouchen 2016-05-12  
solr沿用了lucene的文档得分计算方式,是无法改变的,但是我们可以通过设置权重类似的操作影响最终得分,比如设置bf qf等等,能不能跟我们分享一下,bf和qf是怎么和lucene得分做的运算得到的最终得分
3 楼 shanshouchen 2016-05-12  
网站好像已经很久不维护了
2 楼 xiasihua88 2015-06-15  
qf 为空的时候,搜索不到结果,为何?
1 楼 langxuanlovehai 2014-10-22  
我发现你说的网站有一个bug 啊, 搜索建议的时候,竟然不能搜索,搜索建议后的文字需要做处理啊,前段问题吧。呵呵!

相关推荐

    solr实现电商自定义打分

    在电商领域,搜索结果的排序和打分对于用户体验至关重要,因为它直接影响到商品的展示顺序,进而影响到销售。本篇文章将详细介绍如何利用Solr实现电商自定义打分机制。 首先,我们需要了解Solr的评分(Score)机制...

    solr搜索引擎的使用介绍

    3. **排序与评分**:Solr可以根据多种因素(如相关性、日期、自定义函数)对搜索结果进行排序,并提供TF-IDF等评分机制。 4. **高亮显示**:搜索结果中的关键词可以被高亮,方便用户快速定位匹配内容。 5. ** ...

    基于java-solr-geo空间坐标搜索、距离排序、分页

    基于solr-geo空间搜索 1、Solr的schema.xml配置 定义坐标field 2、Solr的data-config.xml配置 建立索引 3、java查询语法 坐标距离、分页、排序

    solr搜索自动补全

    Solr搜索自动补全是现代电商网站常见的一项功能,它能够显著提升用户体验。当用户在搜索框输入关键词时,系统会根据输入的文字,实时展示一个下拉列表,该列表包含用户可能想要搜索的查询项。这不仅可以引导用户更快...

    ES和solr搜索方案对比

    ES(ElasticSearch)和Solr都是基于Lucene的搜索引擎,它们各自提供了一套搜索框架,用于实现高效的全文搜索功能。由于两者都是在Apache License 2下开源的,因此在选择使用哪种搜索方案时,需要根据不同的使用场景...

    solr搜索引擎

    Solr搜索引擎是一款强大的开源全文搜索和分析引擎,由Apache软件基金会开发并维护。它主要设计用于处理大量数据的高效检索,支持多种数据源,并提供高度可扩展性和容错性。在深入探讨Solr之前,我们先来理解一下什么...

    solr搜索引擎支持分页

    Solr搜索引擎支持分页是其核心特性之一,它在处理大量数据检索时,为了提高用户体验,提供了高效且灵活的分页解决方案。Solr是基于Java的开源全文搜索服务器,采用了Apache Lucene作为其核心搜索引擎库。Lucene是...

    solr搜索服务器安装配置

    ### Solr搜索服务器安装配置详解 #### 一、Solr简介 Apache Solr是一款开源的高性能全文搜索引擎,基于Lucene库构建。它采用Java开发,提供了丰富的API接口,支持多种编程语言,使得开发者能够轻松地集成搜索功能到...

    solr-7.1.0.zip solr搜索引擎安装包

    Solr,全称为Apache Solr,是Apache软件基金会的一个开源项目,主要提供高速、可扩展的全文检索、命中高亮、拼写检查、查询分析等功能,广泛应用于企业级搜索应用。它基于Java语言开发,使用Lucene库作为其核心搜索...

    solr搜索插件

    Solr不仅支持简单的关键词查询,还包含了丰富的文本分析、排序、分面搜索、高亮显示结果等功能,使其成为大数据环境下理想的搜索解决方案。 在描述中提到,这个插件是经过个人试用并且评价为简单好用的,这意味着它...

    solr搜索引擎-课程文件培训

    1.学员操作手册-Solr搜索自动补全 2.solr实训教程.doc 3.积分商城基于Solr的搜索引擎优化.pdf 4.基于Solr的搜索引擎优化讲义.pdf 5.课程大纲-基于搜索引擎培训.doc 6.学员操作手册-Solr数据库插入索引.doc 7.学员...

    solr实现京东搜索

    同时,Solr还提供了排序功能,允许用户按价格升序或降序排列搜索结果。这通常通过“sort”参数实现,如“price asc”或“price desc”。 四、分页 在大量商品数据中,分页是必不可少的。Solr的“start”和“rows”...

    solr搜索引擎服务

    sorl搜索引擎安装与文件,Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。

    solr 企业搜索引擎教程

    ### Apache Solr 企业搜索引擎教程知识点总结 #### 1. Apache Solr 概述 - **Solr**:Apache Solr 是一款高度可扩展且高性能的企业级搜索平台,由Apache软件基金会维护。它是一个开源搜索服务器,使用Java语言编写...

    人工智能-项目实践-搜索引擎-使用solr搜索引擎 利用Spring springmvc 框架 在页面实现一些组合查询

    使用solr搜索引擎 利用Spring springmvc 框架 在页面实现一些组合查询

    apache solr搜索系统的.Net实现

    apache solr搜索系统的.Net实现

    solr 搜索短语搜索不出来的解决方案

    NULL 博文链接:https://ldcsunnyboy.iteye.com/blog/1113251

    Solr搜索引擎

    ### Solr 搜索引擎知识点详解 #### Solr概述 **Solr** 是一款开源的、高性能的全文检索服务器,能够支持大规模数据集的快速搜索需求。它基于 **Apache Lucene** 开发,提供了丰富的功能集,包括全文检索、文档排序...

    Apache Solr 搜索使用文档

    ### Apache Solr 搜索使用文档知识点详解 #### 一、Apache Solr简介及特性 **Apache Solr** 是基于 **Apache Lucene** 的一个高性能、全功能的企业级搜索引擎。Solr 不仅继承了 Lucene 强大的全文检索能力,还在此...

Global site tag (gtag.js) - Google Analytics