我正在尝试在AzureSearch中的多边形内搜索。我正在使用下面的过滤器。我的搜索返回结果,但它缺少一点-2.54321666666667,60.6914166666667并找到一个在-2.5437833333333333, 60.691433333333336。两者都错了,对吗???
$ filter =(geo.intersects(BeginningPoint,geography'POLYGON(( - 2.54321 60.6913,-2.54323 60.6913,-2.54323 60.6915,-2.54321 60.6915,-2.54321 60.6913))'))& $ count = true
为了便于查看,要点是: -2.54321 60.6913, -2.54323 60.6913, -2.54323 60.6915, -2.54321 60.6915, -2.54321 60.6913
答案 0 :(得分:2)
您的点需要逆时针定义,而不是顺时针定义。
这些点-2.54321 60.6913 (bottom right), -2.54323 60.6913 (bottom left), -2.54323 60.6915 (top left), -2.54321 60.6915 (top right), -2.54321 60.6913 (bottom right)
是顺时针定义的,因此有助于翻转它们。
答案 1 :(得分:1)
似乎您必须以顺时针顺序定义多边形以捕获区域内部。因此,当我反转点2-4时,它开始返回正确的子集。
我仍然对原始搜索感到有点困惑,因为它返回了几百分(远低于我的索引中的总余数),但我现在没有时间进一步尝试。