【发布时间】:2012-09-29 13:35:03
【问题描述】:
我想在边界框内搜索地图,该地图的东北点和西南点的 lat/lng 可用。我将lat 和lng 索引为TrieDoubleField 类型,将latlng 索引为solr.LatLonType 类型。在一个框内搜索(而不是像geofilt 那样的半径)的原因是因为搜索是在矩形地图上可见的所有区域上完成的,并且我得到了地图 4 个角的坐标。
问题: 执行 2 个范围查询,一个用于 lat,一个用于 lng,会不会效率低下?如下图所示,需要搜索很多不必要的范围。
http://127.0.0.1:8080/solr/select?q=*:*fl=id&fq=lat:[42.2823890429 TO 42.4224427748] AND lng:[-71.3345718384 TO -70.7612228394]
如果是这样,有没有更好的方法?
fq={!bbox}&sfield=latlng&pt=45.15,-93.85&d=5 将不起作用,因为我无法计算 d 的值以匹配我的地图边界。
【问题讨论】:
标签: solr lucene gis geospatial