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 に答える