垂直个性化排序之Solr如何支持

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 需求: 个性化得分排序:类似 Score= defaultTextScore*facetA + offlineValue*(1-factorA) 方案: 目前直接支持的排序、全部候选方案。推荐1  和2.  参见样例! 1: sort by (score, offlin

需求:


个性化得分排序:类似 Score=
defaultTextScore*facetA + offlineValue*
1-factorA


方案:


目前直接支持的排序、全部候选方案。推荐1 
2. 
参见样例!

1: sort by
(score,
offlinevalue*fa)   


这里offlinevalue*fa

fa可要可不要

2: sort by
(score*fa +offlinevalue*fb)
 
这里score *fa

其中fa有很多理解,可要是document boost或者field boost  
或者payloadoffline可以是域值

3: sort by
(score*offlinevalue*fa)   


这个场景本质上回到了 score*fa了,又回到了payload 
或者document或者field boost了。

4: sort
by( score * payload |doc_boost | field_boost| term_boost|
queryboost)

需求背景:文本相关第一位的,在文本相关区分度不大的时候,需要将好的商品、或者服务信息优先排(这里仍然受限第一排序文本相关分限制,如果放弃第一维度,只有第二维度的离线分值,那么文本相关性可能非常糟糕,反应到用户就是关键词
不显眼,好的离线值一直占住排头,出现饥饿现象)

进一步扩展,例如topN 先不排序,然后按某种方式排序、实现去重的维度的结果。


分析

1
 
最直接,也是推荐的方式。

3-4一回事,只是实现方式上不同:

2

看起来就显得稍微复杂了,其中fa的理解也有多重,


一种fa不是boost(documentsfieldpayload
),
而是外部直接传入的。从数学公式角度看一码事。

Eg
tf*itf*payload = score  score*fa
=tf*itf*payload*fa,
 
合并fa8payload

就是一项信息了,


同理,offline*fb
 
离线计算好就是offline’了,还是offline 
了。这样2

简化为 score+offline


从上分析来看,只有2种,要么1 
,要么2


对应2本质是
score+offlinevalue所谓的因子只是“逻辑理解”,对应实现来说“完全隐去了”


样例Score+offline

query.set("defType","lucene");

query.setQuery("description:店铺
AND _val_:reord_gpa^0.7");

query.setQuery("description:店铺
AND
_val_:sum\(reord_gpa,1\)");

query.setQuery("(description:店铺)^0.3 AND
_val_:sum\(reord_gpa,1\)"
);


至于: score

中的因子,如果固定0.8,然后所有文档都* 0.8,实际上就等于没起作用。这个0.8 
可以payload或者doc或者field boost引入。


至于:
gpa
中的因子,如果固定0.2,那么就直接在离线计算时算好


另外
 
3.*
版本中

query.setQuery("title:Aokang");

      
query.add("sort","sum(weight1,query({!dismax qf=title
v='
杭州'}))
desc");

      
query.addField("title,score,weight1,weight2,query({!dismax
qf=title v='
杭州'}))");


这种新式,是针对局部
query得分处理的


木有排序计算,直接返回topN,性能考虑

query.set("sort","_docid_ asc");


注解:BoostQParse,boost值乘上默认得分上,而一般_val_是将得分add 
到默认文本分上。
目前基于
3.* 
序列,尚不能直接对默认文本分进行引入到
function中,在4.*可以引用默认得分的中间参数到function中。
目前3.* 可以将function值加上或者乘上默认文本分(dismax的pb),或者局部query得分作为function的参数

最基础的 payload、documentboost、 fieldboost 、tf、itf 仍然是最本质的因子。
其他的扩展仍然是围绕他们展开的。本质没有脱离向量模型。

相关文章
|
SQL 关系型数据库 PostgreSQL
CTE vs 子查询:深入拆解PostgreSQL复杂SQL的隐藏性能差异
本文深入探讨了PostgreSQL中CTE(公共表表达式)与子查询的选择对SQL性能的影响。通过分析两者底层机制,揭示CTE的物化特性及子查询的优化融合优势,并结合多场景案例对比执行效率。最终给出决策指南,帮助开发者根据数据量、引用次数和复杂度选择最优方案,同时提供高级优化技巧和版本演进建议,助力SQL性能调优。
1450 1
|
弹性计算 缓存 搜索推荐
大数据个性化推荐,AWS终端用户解决方案
大数据个性化推荐,AWS终端用户解决方案
|
机器学习/深度学习 资源调度 算法
推荐系统[四]:精排-详解排序算法LTR (Learning to Rank)_ poitwise, pairwise, listwise相关评价指标,超详细知识指南。
推荐系统[四]:精排-详解排序算法LTR (Learning to Rank)_ poitwise, pairwise, listwise相关评价指标,超详细知识指南。
推荐系统[四]:精排-详解排序算法LTR (Learning to Rank)_ poitwise, pairwise, listwise相关评价指标,超详细知识指南。
|
监控 Java API
Sentinel 与 Hystrix 的对比
[Sentinel](https://github.com/alibaba/Sentinel) 是阿里中间件团队研发的面向分布式服务架构的轻量级高可用流量控制组件,最近正式开源。Sentinel 主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的稳定性。大家可能会问:Sentinel 和之前常用的熔断降级库 Netflix Hystrix 有什么异同呢?本文将从多
34570 0
|
4天前
|
人工智能 弹性计算 运维
|
2天前
|
缓存 人工智能 安全
GPT-5.6 Terra与GPT-5.5性能实测:成本减半后的跑分对比与快速迁移指南
GPT-5.6 Terra 的定价为每百万 token 输入 2.50/输出 15。GPT-5.5 则是 5/ 30。Terra 的每一项费率,包括 $0.25/M 的缓存读取,都恰好是 GPT-5.5 的一半,因此在任何工作负载组合下,Terra 都固定 便宜 2.0x。以每天 10 万次请求、3K token 提示词计算,大约是 Terra 每天 2,000,GPT−5.5每天 4,000,即每月约 60,000对 120,000。问题在于:OpenAI 没有发布任何针对 Terra 的编码基准。那个著名的 91.9% Terminal-Bench 数字是 Sol 在 Ul
|
1天前
|
SQL 人工智能 自然语言处理
大模型内容安全实时防护:恶意Prompt注入拦截、越权阻断与熔断机制方案.166
本文系统阐述大模型输入安全防护体系,涵盖提示词注入、恶意Prompt拦截、越权阻断与输入熔断四大核心风险及应对方案。提出四层防护架构(预处理、检测、鉴权、熔断),结合规则引擎、语义识别与RBAC权限控制,实现全链路实时防护,保障业务合规、数据安全与服务稳定。
208 1
|
25天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)
|
9天前
|
人工智能 编解码 物联网
2026 最新Stable Diffusion 本地部署教程 下载安装使用详细图解(含官网安装包)
Stable Diffusion(SD)是2022年发布的开源文生图模型,由Stability AI等联合开发。支持文生图、图生图、局部重绘等,依托VAE降低算力需求,可在消费级显卡运行。本文提供秋葉aaaki制作的Windows整合包(含图形界面与插件),开箱即用,零配置启动。

热门文章

最新文章