Kentico和Collection(EDM.GeographyPoint)

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

我试图将地理位置添加到Azure索引中,并建立类型为Collection(EDM.GeographyPoint),这样我就可以将多个地理编码附加到1个索引文档中。我得到这个错误信息。C重组或更新索引'azurecomplextypest'失败,出现以下错误。该请求无效。详情:定义:字段'geolocation'的类型为'Collection(Edm.GeographyPoint)',该请求中使用的 API 版本不支持该类型。在此API版本中,集合字段只能包含字符串。请升级到最新的API版本,以使用'Collection(Edm.GeographyPoint)'类型的集合字段。

我的Kentico版本是 12.0.53 对于以下内容 Kentico.AspNet.Mvc,Kentico.AspNet.Mvc.Libraries,Kentico.LanguagePack.English & Kentico.Libraries。

c# asp.net-mvc kentico
1个回答
0
投票

嗯,这似乎是CMS的限制,简短的回答是 "不,你不能这样做"。

要允许这样做,你需要将Microsoft.Azure.Search.* nuget包更新到最新的10+版本,因为这些nuget包的较高版本针对的是更现代版本的Azure Search API。但这将打破Kentico重建和更新索引的功能,这样当你改变一些东西时,它将不会同步到Azure Search索引。

我建议以另一种方式实现这一点 - 你可以创建一个只包含位置的单独索引,并使用父项目的数据(如ClassName和NodeGUID)扩展它。这将允许您搜索位置,然后相应地检索父项目。希望能帮到你。

另一个选择是联系Kentico支持,询问他们如何在不破坏CMS功能的情况下更新这些nuget包。可能还有别的方法,只是我不知道。

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