空間クエリーには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"