2016-11-14 7 views
1

多角形(文書内で索引付けされている)に円のような別の図形と共通の点があるかどうかを調べようとします。Elasticsearch GeoShapeクエリでCONTAINSとWITHINの違いは何ですか?

Elasticsearch documentationは関係の4種類提供:

  • INTERSECTと、
  • DISJOINCT;
  • コンテナ;
  • WITHIN。

私は特にGeoJSON側から詳細を見つけようとしています。

私は最初のタイプは私の問題に答えることができますが、私は2つの間の違いを見つけることはできません。ドキュメントは非常に短いです。

ありがとうございました。

+0

タイプミスを:それは実際に「交差」と「DISJOINT」です。大文字と小文字を区別しないBTW。 – mgaert

+0

どのようにクエリで使用できますか? –

答えて

1

WITHINは、そのgeo_shapeフィールド内のクエリで指定された幾何学的な形状であるすべての文書を返します。

=>この場合、あなたはあなたのクエリに幾何学的形状Aを指定し、ESは、そのgeo_shapeフィールドB形状Aその内に完全に配置されているすべてのドキュメントが返されます:A contains B

CONTAINSは、すべての文書が返されますgeo_shapeフィールドには、クエリで指定された幾何学的形状のが含まれています。

=>この場合、ESは、そのgeo_shapeフィールドBクエリで指定された幾何学的形状A含まれるすべてのドキュメントが返されます:B contains A

+0

私は文法の違いを理解していません。私のために何かの中にある両方の手段は、英語が私の主要な言語ではありません。 – GRoguelon

+2

「WITHIN」は「A contains B」を意味し、「CONTAINS」は「B contains A」を意味します。「A」はクエリの形、「B」はドキュメントの形です。 – Val

+0

フランス語でも説明できます; – Val

関連する問題