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

多角形形状を含む空間クエリーの実行には、JTS Topology Suite JARが必要です。

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

Solr空間フィールド型

Solr空間フィールド型(solr.PointTypeおよびsolr.LatLonType)は、動的フィールドを使用して緯度と経度のデータを格納します。各空間フィールド型に対して、スキーマでsolr.TrieDoubleField型の1つのフィールドを宣言する必要があります。プレフィックス・サブフィールドの命名ポリシーでは、マップ型を使用して地理空間データを格納します。

高度な空間クエリー

多角形形状を含む空間クエリーを実行するには、JTS(Java Topology Suite)ライブラリをDataStax Enterprise Solrライブラリ・ディレクトリーにインストールする必要があります。jts.jarファイルのバージョン1.13をhttp://central.maven.org/maven2/com/vividsolutions/jts/1.13/からダウンロードし、以下のSolrライブラリ・パスにインストールします。

デフォルトのSolrライブラリ・パスの場所は、インストールのタイプによって異なります。
  • パッケージ・インストールおよびInstaller-Services:/usr/share/dse/solr/lib
  • tarボール・インストールおよびInstaller-No Services:installation_location/resources/solr/lib

空間述語

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"