如何使用solr空间搜索在两个坐标之间搜索记录

时间:2012-12-27 07:29:39

标签: solr

我有一个lat lat long和一个结束lat long,我必须使用solr spatialSearch搜索这些点之间的其他记录。如果有人能帮助我,请提前致谢。

最佳记录......

Aisha Zafar

2 个答案:

答案 0 :(得分:2)

您可以使用Solr's Bounding-box过滤器查找框之间的记录,但它可以使用单点(lat,lon)和距离。

如果您有两个点,则可以使用范围查询在此框之间找到记录。查询可能类似于:

  

..& fq = latField:[lat1 to lat2] AND lonField:[lon1 to lon2]

答案 1 :(得分:0)

这是solr查询: 只需将pt更改为搜索坐标,将距离d更改为圆的半径。 fq = {!geofilt sfield = coordinates}& pt = 10.737845823323038,106.65631819042972& d = 2.8'

使用此schema.xml配置从solr索引的每个文档:

< field name =“coordinates”type =“geohash”indexed =“true”stored =“true”multiValued =“true”/>

和文档对象应包含如下字段:     $ fields ['coordinates'] = implode(',',$ post-> getCoordinates() - > getLatLng());