Solr字段ExternalFileField使用

ExternalFileField是一种非常灵活的定义排序的一种字段,适用于一些需要临时提高某些doc的排名,但是又不想显式的把评分建立到索引里面,这种需求,在电商的业务里面,经常会遇到一些特定的节日进行商品大促,需要临时提高一批索引数据的排名,而又不想重建整个索引,在大促结束后,这些排名又恢复正常,这种场景下非常适合使用ExternalFileField来解决,与竞价排名非常类似。 

ExternalFileField这种字段不能够被搜索,但可以用来结合函数查询和评分排序,下面介绍下用法: 
字段定义 

Java代码   收藏代码
  1. <field name="rank" type="idRank" indexed="false" stored="false" />  

字段类型的定义  
Java代码   收藏代码
  1. <fieldType name="idRank" keyField="anyCpyNo" defVal="0" stored="true" indexed="true" class="solr.ExternalFileField" valType="float"/>  

定义的评分文件名组成规则:external_字段名.*    (*号代表可以是一组数字或字母,solr会自动排序取最后一个的文件为有效评分文件,原来的文件删除) 

本例中名称为:external_rank.0 
数据:
 

 
加载位置位于solr-5.1.0\server\solr\core\data\下面 


解释: 
name是字段类型的标识 
keyField是当前scheam的里面的唯一主键字段 
defVal为默认值 
valType为数据类型目前仅支持pfloat,float,tfloat 
搜索效果如下: 




ok,此时效果已经可以表现出来了,如果改动完成之后,不想重启服务,可以reload当前的core,重新加载数据即可动态生效!  

最后欢迎大家扫码关注微信公众号:我是攻城师(woshigcs),我们一起学习,进步和交流!(woshigcs) 
本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园,有什么问题随时都可以留言,欢迎大家来访! 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值