加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Solr空间查询语法(ajax调用)

发布时间:2020-12-16 03:13:23 所属栏目:百科 来源:网络整理
导读:1,圆查询 {q:*:*,fq:{!geofilt},spatial:true,pt:lng lat,//圆心sfield:L,//建立索引的字段d:3,//半径设置} 2,矩形查询 {q:*:*,fq:L:[lat,lng TO lat,lng] //两个点确定矩形} 3,多边形查询 {q:*:*,fq:L:Intersects(POLYGON((lng1 lat1,lng2 lat2,........

1,圆查询

{
q:*:*,fq:{!geofilt},spatial:true,pt:lng lat,//圆心
sfield:L,//建立索引的字段
d:3,//半径设置
}

2,矩形查询

{
q:*:*,fq:L:[lat,lng TO lat,lng] //两个点确定矩形
}

3,多边形查询

{
q:*:*,fq:L:Intersects(POLYGON((lng1 lat1,lng2 lat2,.........,lng1 lat1)))
}


4,线周边查询

线周边查询本质上是多边形查询,使用turf.js根据线构建多边形。


索引的建立:

sql:select to_char(SMX)||' '||to_char(SMY) L from yourTable

<field column="L" name="L" />

solr配置(索引建立):

<fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"

spatialContextFactory="com.spatial4j.core.context.jts.JtsSpatialContextFactory"

geo="true" distErrPct="0.025" maxDistErr="0.000009" distanceUnits="kilometers" />

<field name="L" type="location_rpt" indexed="true" stored="true"/>

5,ajax跨域请求solr服务(jsonp只能解决get跨域请求)

$.ajax({
   url:solrUrl,//http://ip:8080/solr/myCore/select
   dataType:'jsonp',jsonp:'json.wrf',data:queryData,//上文中的Solr查询参数
   success:function(data){
       callbackFunction(data); 
   },error:function(error){
   }
});

参考博客:点击打开链接

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读