solr spatial search 学习

spatial search称为地理空间搜索,主要可以根据位置信息得到相关的搜索数据;

一 功能:

1.1使用spatial search可以完成:1.索引位置和其他形状的位置;

2.通过边界框,圆,或者其他形状来过滤搜索结果;

3.通过点之间的距离,或相对区域之间的距离进行排序或者提高得分(排序的时候根据得分进行);

4.产生一个2D的点,热地图生成或者由点进行画线;

1.2可以使用的field:

   LatLonPointSpatialField
  LatLonType (now deprecated) and its non-geodetic twin PointType
  SpatialRecursivePrefixTreeFieldType(RPT for short), including RptWithGeometrySpatialField, a
derivative 
  BBoxField

LatLonPointSpatialField是一种比较理想的field类型对大多数使用者来说。RPT提供更多的特点,为更先进的,个性化的使用,像多边形,热地图等;

二使用方式:

2.1schema中定义:

<fieldType name="location" class="solr.LatLonPointSpatialField" docValues="true"/>

Indexing Points使用(x,y)格式进行保存;

2.2 Searching with Query Parsers

参数包括:d:单位是km;pt:(x,y),单位是cm;sfield:一个空间field,如location;score:得分。()


2.3geofilt

查找附近5公里的所有文档:&q=:&fq={!geofilt sfield=store}&pt=45.15,-93.85&d=5

bbox:&q=:&fq={!bbox sfield=store}&pt=45.15,-93.85&d=5


通过任意的矩形进行过滤:

&q=:&fq=store:[45,-94 TO 46,-93]

三Distance Sorting or Boosting (Function Queries)

有四种距离方法进行查询:geodist  dist hsin sqedist;

geodist  (sfield,latitude,longitude);


这里有博客:

有测试代码:

http://blog.csdn.net/hu948162999/article/details/44174871




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值