問題タブ [elasticsearch-geo-shape]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
elasticsearch - geo shape フィルタに一致するポリゴンが少なくとも 1 つあるポリゴンの配列を含むドキュメントをクエリするにはどうすればよいですか?
エリア プロパティを持つドキュメントがあります。このプロパティはポリゴンの配列です。ポリゴンがいくつかの都市の境界を表しているとしましょう。
境界ボックスがある場合、境界ボックス内にポリゴンが少なくとも 1 つあるドキュメントを照会したいと考えています。
私のクエリは、フィルターに一致する単一の領域がある場合、または境界ボックスが非常に大きく、すべてのポリゴンがその中にある場合に機能します。
サンプル エリア プロパティは次のようになります。
elasticsearch - geo_shape を GeoJSON テキストとして読み取る
私は現在、次のようなオブジェクトを取得するNESTを介したelasticsearchクエリを持っています
現在、クエリは機能していますが、「Geometria」プロパティのタイプを変更する必要があります (これは、elasticseach に保存されたドキュメントの geo_shape フィールドにマップされます)。ここで、GeoJSON 文字列を保持する文字列にする必要があります。MultiPolygonGeoShape プロパティを後処理して、そのコンテンツから GeoJSON 文字列を作成することもできますが、もっと直接的な方法はありますか?
私が知る限り、geo_shape フィールドはすでに Elasticsearch JSON ドキュメントに GeoJSON 文字列として格納されているため、JSON ドキュメントから geo_shape を読み取り、MultiPolygonGeoShape にデシリアライズしてから GeoJSON に後処理するというリソースの浪費のように見えます。 GeoJSON が最初から存在していた場合。
elasticsearch - Elasticsearch - クエリで空間結合を実行することは可能ですか?
PostGISで行うように、空間結合を実行したいと思います。これまで、 Geo-shape queryで概説されているさまざまな方法を調べてきましたが、単一の形状を使用するか、次のように id で別のインデックスの形状にアクセスすることによってのみ可能でした。
geo_point
インデックスとドキュメントを別のインデックスまたはドキュメントと同じインデックスに空間的に結合する方法はありgeo_shape
ますか?