0

我必须进行如下查询:-

fq=latlng:IsWithin(POLYGON(('23.60 71.60','28.65 71.68','28.60 72.61','28.63 72.65')))

现在我陷入了如何使用 Spring-Data-Solr 执行此查询的问题,其中我的功能类似于

public List<Hotel> getHotelsInsidePolygon(Point... points);

如果有人告诉如何进行将会很有帮助

4

1 回答 1

0

得到这个:-

Solr 中为多边形搜索工作而改变的事情是

  1. 在部署的 solr war WEB-INF/lib 中添加 JTS jar
  2. 将 latlng 的字段类型从“location”更改为“location_rpt”
  3. 修改 location_rpt 字段类型如下

<fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType" spatialContextFactory="com.spatial4j.core.context.jts.JtsSpatialContextFactory" distErrPct="0.025" maxDistErr="0.000009" units="degrees" />

  1. 添加位置数据以对其进行索引,多边形查询将起作用。
于 2015-02-10T14:10:08.840 回答