我有一个开始lat长和结束lat长,我必须使用solr spatialSearch搜索这些点之间的其他记录。如果有人能帮助我,请提前致谢。如何使用solr空间搜索在两个坐标之间搜索记录
最佳纪录......
阿伊莎扎法尔
我有一个开始lat长和结束lat长,我必须使用solr spatialSearch搜索这些点之间的其他记录。如果有人能帮助我,请提前致谢。如何使用solr空间搜索在两个坐标之间搜索记录
最佳纪录......
阿伊莎扎法尔
您可以使用Solr's Bounding-box过滤器来查找框之间的记录,但它与单点(纬度,经度)和距离的作品。
如果你有两点,那么你可以通过使用范围查询找到这个盒子之间的记录。查询可以是这样的:
.. & FQ = latField:[LAT1 TO LAT2]和lonField:[lon1 TO lon2]
这是Solr的查询: 只需更改为PT搜索坐标和距离d作为圆的半径。 FQ = {!geofilt元数=坐标} & PT = 10.737845823323038,106.65631819042972 & d = 2.8'
每个从solr的索引与该schema.xml中配置文件:
< 字段名=“坐标“
和文档对象应该包含这样的字段: $ fields ['coordinates'] = implode(',') ',$ post-> getCoordinates() - > getLatLng());
非常感谢。这是一个很好的解决方案,但我在单个字段中用逗号分隔。 – aishazafar
@aishazafar然后你可以做fieldName:[lat1,long TO lat2,lng2] 只要确保lat1 <= lat2和lon1 <= lon2 –