空間クエリーにはJTSが必要

多角形形状を含んだ空間クエリーを実行するには、JTS Topologu Suite JARが必要です。

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

次のような場合

Solr空間フィールド型

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

高度な空間クエリー

多角形形状を含んだ空間クエリーを実行するには、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/resources/solr/lib
パッケージ・インストール /usr/share/dse/solr/lib
Installer-No Servicesおよびtarボール・インストール install_location/resources/solr/lib

空間述語

DataStax Enterpriseでは、以下の空間述語をサポートしています。
  • 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"