在Elasticsearch GeoShape查询中,CONTAINS和WITHIN有什么区别?

时间:2016-11-14 12:43:30

标签: elasticsearch geojson elasticsearch-geo-shape

我尝试确定多边形(在文档中索引)是否与另一个形状(如圆圈)具有共同点。

Elasticsearch documentation提供了4种类型的关系:

  • INTERSECT;
  • DISJOINCT;
  • CONTAINS;
  • 之内。

我试图从GeoJSON方面找到更多信息但没有成功。

我认为第一种类型可以解决我的问题,但我找不到两个持续时间之间的区别。文档非常简短。

感谢。

1 个答案:

答案 0 :(得分:2)

WITHIN将返回geo_shape字段中的所有文档。

=>在这种情况下,您将在查询中指定几何形状A,ES将返回geo_shape字段B完全位于 WITHIN 形状{{}的所有文档{1}}:A

A contains B将返回CONTAINS字段包含在查询中指定的几何形状的所有文档。

=>在这种情况下,ES将返回geo_shape字段geo_shape 包含您查询中指定的几何形状B的所有文档:A