Azure 认知搜索 - 使用 GeographyPoint 时出错

问题描述 投票:0回答:1

使用 Azure 认知搜索并指定 GeographyPoint 字段,如下所示:

[SearchableField(IsFilterable = true, IsSortable = true)]
public GeographyPoint geoPoint { get; set; }

他们像这样初始化它:

double lat = ... 
double lng = ...
doc.geoPoint = GeographyPoint.Create(lat, lng);

返回错误(当使用CreateOrUpdateIndex方法时):

Azure.RequestFailedException:'请求无效。细节: 定义:可搜索字段“geoPoint”必须是类型 Edm.String 或集合(Edm.String).

文档表示支持 Edm.GeographyPoint 类型。 有谁知道这个错误的原因吗?

我们已经阅读了这个问题,我们的实施看起来是正确的。 我们正在使用 Azure 认知搜索 SDK 11

我们预计索引的创建将与 GeographyPoint 字段一起使用。我们阅读了文档并检查了我们的方法,发现我们的实现没有错误。

azure-cognitive-services azure-cognitive-search
1个回答
0
投票
支持

Edm.GeographyPoint
数据类型,但此数据类型的字段不可搜索。仅可搜索具有
Edm.String
Collection(Edm.String)
数据类型的字段。这就是您收到此错误的原因。

请参阅此处的 REST API 文档:https://learn.microsoft.com/en-us/rest/api/searchservice/create-index#-field-definitions-

要修复该错误,请使该字段不可搜索。

© www.soinside.com 2019 - 2024. All rights reserved.