按多边形搜索返回不正确的结果

时间:2016-01-20 00:15:51

标签: azure-search

我正在尝试在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

2 个答案:

答案 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时,它开始返回正确的子集。

我仍然对原始搜索感到有点困惑,因为它返回了几百分(远低于我的索引中的总余数),但我现在没有时间进一步尝试。

相关问题