我想在边界框中搜索地图,该地图的东北点和西南点的纬度/经度可用。我有lat
并lng
索引为类型TrieDoubleField
和类型。在框内搜索(而不是像 in 那样的半径)的原因是因为搜索是在矩形地图上可见的所有区域上完成的,并且我得到了地图 4 个角的坐标。latlng
solr.LatLonType
geofilt
问题:lat
执行 2 个范围查询,一个 for和一个 for会不会效率低下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
匹配地图边界的值。