参考ShapeRelation内部枚举可以得出:

1.Intersects(相交)

当两个空间对象有共同的部分,即它们的边界或内部相交时,这两个对象之间存在相交关系。例如,一条线穿过一个多边形的边界或内部。

2.Disjoint(相离)

如果两个空间对象没有任何公共点,即它们完全不接触,那么这两个对象是相离的。例如,两个没有交集的多边形。

3.Within(内含)

当一个空间对象A的整个边界和内部都位于另一个空间对象B的内部,并且A与B的边界不相交时,称A在B内部(within B)。这通常意味着A是B的一个子集。例如,一个小多边形完全位于一个大多边形内部。

4.Contains(包含)

类似于within,但方向相反。如果一个空间对象B的边界包含了另一个空间对象A的整个边界及其内部,且A可能接触到B的边界但不相交外部,那么B包含A(contains A)。这意味着B是A的超集。例如,一个大多边形的边界包围了一个小多边形。


相对于geo_shape方法以及调用relation参数是一样的。

elasticsearch java client中QueryBuilders的geoIntersectionQuery、geoWithinQuery、geoDisjointQuery的解释_elasticsearch