搜索推荐五——solr实战高级函数

本文介绍了如何使用Solr实现基于位置的范围查找和距离计算,通过示例展示了LBS功能的应用。同时,探讨了Solr中的Group参数,与Facet的区别在于,Group能一次性获取分组的所有数据,而Facet可能需要额外查询。文章还预告了Solr中其他可用函数的后续更新。
摘要由CSDN通过智能技术生成

一、LBS基于solr实现范围查找和距离

solr/item/select/?q=name:少女&sfield=location&pt=36.853222,116.433365&fl=name,location,_dist_:geodist()&fq={!geofilt}&d=20000

字段

含义

q

查询条件,如 q=poi_id:134567

fq

过滤条件,如 fq=store_name:农业

fl

返回字段,如fl=poi_id,store_name

pt

坐标点,如pt=54.729696,-98.525391

d

搜索半径,如 d=10表示10km范围内

sfield

指定坐标索引字段,如sfield=geo

defType

指定查询类型可以取 dismax和edismax,edismax支持boost函数相乘作用,dismax是通过累加方式计算最后的score.

qf

指定权重字段:qf=store_name^10+poi_location_p^5

score

排序字段根据qf定义的字段defType定义的方式计算得到score排序输出

 

Group参数

Group和Facet的概念很像,都是用来分组。Facet返回所有相关的结果并允许用户基于facet的目录重新定义结果集。Facet可以对分组数量进行过滤,以及排序,和日期范围,时间范围分组,但是如果你想得到具体的数据,还得需要查询一次或多次。group可以得到分组的组数量,一次请求,可以拿到所有的数据。 注意:group在分布式搜索引擎下有些参数不支持

参数

类型

说明

<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值