多角形を含む空間クエリーにはJTSが必要

JTSはPolygonとMultiPolygonのインデックス作成に必要で、多角形形状を含むクエリーを実行します。

JTS(Java Topology Suite)は、PolygonおよびMultiPolygon形状のインデックス作成に必要で、多角形形状を使用してクエリーを実行します。 空間サブフィールドの動的フィールドは、プレフィックス命名規則を使用してマップ型を有効にし、地理空間データを格納します。DSE Searchには、多角形などの高度な空間型を検索インデックスに追加するApache SolrSpatial4jライブラリが含まれています。

JTSが有効な空間フィールド型

マルチポリゴン・シェイプのインデックスを最適化するには、useJtsMulti="false"を設定する必要があります。例を次に示します。
<fieldType autoIndex="true" useJtsMulti="false" 
          class="solr.SpatialRecursivePrefixTreeFieldType" distErrPct="0.0125" 
          distanceUnits="kilometers" geo="true" name="WktField" spatialContextFactory="org.locationtech.
          spatial4j.context.jts.JtsSpatialContextFactory"/>

空間述語を使用した高度な空間クエリー

DSE Searchでは以下の空間述語をサポートしています。
  • Intersects
  • IsWithin
  • IsDisjointTo
  • Contains

Intersects
fq=geo:"Intersects(-74.093 41.042 -69.347 44.558)"
IsWithin
fq=geo:"IsWithin(POLYGON((-10 30, -40 40, -10 -20, 40 20, 0 0, -10 30))) distErrPct=0"
IsDisjointTo
fq=geo:"IsDisjointTo(POLYGON((-10 30, -40 40, -10 -20, 40 20, 0 0, -10 30))) distErrPct=0"
Contains
fq=geo:"Contains(POLYGON((-10 30, -40 40, -10 -20, 40 20, 0 0, -10 30))) distErrPct=0"