如何在Spring-data-solr中进行多边形空间搜索

时间:2014-11-27 05:59:20

标签: java spring solr solrj spring-data-solr

我必须进行如下查询: -

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);

如果有人告诉你如何继续

会很有帮助

1 个答案:

答案 0 :(得分:0)

得到了这个: -

在Solr中更改多边形搜索的工作是

  1. 在部署的solr war WEB-INF / lib
  2. 中添加JTS jar
  3. &#34;位置&#34; 的字段类型更改为&#34; location_rpt&#34;
  4. 修改location_rpt字段类型,如下所示
  5. <fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType" spatialContextFactory="com.spatial4j.core.context.jts.JtsSpatialContextFactory" distErrPct="0.025" maxDistErr="0.000009" units="degrees" />

    1. 添加位置数据以对其进行索引,并且多边形查询将起作用。