Solr空间查询语法(ajax调用)
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){ } }); 参考博客:点击打开链接 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |