Collection(Edm.Double) 字段的合并问题:无法将文字“0.73”转换为预期类型 'Edm.String'
Merge issue with Collection(Edm.Double) field: Cannot convert the literal '0.73' to the expected type 'Edm.String'
我在 Azure 搜索索引中定义了一个列,如下所示:
{
"name": "agreedValues",
"type": "Collection(Edm.Double)",
"facetable": false,
"filterable": false,
"retrievable": true,
"analyzer": null,
"indexAnalyzer": null,
"searchAnalyzer": null,
"synonymMaps": [],
"fields": []
},
并且是 运行 带有 nuget Microsoft.Azure.Search 10.1.0
的 netcoreapp2.1 Azure Function (v2)
使用具有相应 属性
的文档 DTO 可以将文档添加到索引
public ImmutableList<double> AgreedValues { get; }
(和 DTO class 上的属性 [SerializePropertyNamesAsCamelCase]
以修复大小写问题)
但是当我尝试合并更新以记录搜索时 API 以
响应
The request is invalid. Details: parameters : Cannot convert the literal '0.73' to the expected type 'Edm.String'.
来自
Microsoft.Rest.Azure.CloudException:
at Microsoft.Azure.Search.DocumentsProxyOperations+<IndexWithHttpMessagesAsync>d__13`1.MoveNext (Microsoft.Azure.Search.Data, Version=10.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at Microsoft.Azure.Search.DocumentsOperations+<DoIndexAsync>d__19`1.MoveNext (Microsoft.Azure.Search.Data, Version=10.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at Microsoft.Azure.Search.DocumentsOperationsExtensions+<IndexAsync>d__15`1.MoveNext (Microsoft.Azure.Search.Data, Version=10.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
欢迎任何 ideas/suggestions 解决。
我无法重现此错误 - 您能否分享一个索引定义和 index/query 失败的请求?
我在 Azure 搜索索引中定义了一个列,如下所示:
{
"name": "agreedValues",
"type": "Collection(Edm.Double)",
"facetable": false,
"filterable": false,
"retrievable": true,
"analyzer": null,
"indexAnalyzer": null,
"searchAnalyzer": null,
"synonymMaps": [],
"fields": []
},
并且是 运行 带有 nuget Microsoft.Azure.Search 10.1.0
的 netcoreapp2.1 Azure Function (v2)使用具有相应 属性
的文档 DTO 可以将文档添加到索引 public ImmutableList<double> AgreedValues { get; }
(和 DTO class 上的属性 [SerializePropertyNamesAsCamelCase]
以修复大小写问题)
但是当我尝试合并更新以记录搜索时 API 以
响应The request is invalid. Details: parameters : Cannot convert the literal '0.73' to the expected type 'Edm.String'.
来自
Microsoft.Rest.Azure.CloudException:
at Microsoft.Azure.Search.DocumentsProxyOperations+<IndexWithHttpMessagesAsync>d__13`1.MoveNext (Microsoft.Azure.Search.Data, Version=10.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at Microsoft.Azure.Search.DocumentsOperations+<DoIndexAsync>d__19`1.MoveNext (Microsoft.Azure.Search.Data, Version=10.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at Microsoft.Azure.Search.DocumentsOperationsExtensions+<IndexAsync>d__15`1.MoveNext (Microsoft.Azure.Search.Data, Version=10.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
欢迎任何 ideas/suggestions 解决。
我无法重现此错误 - 您能否分享一个索引定义和 index/query 失败的请求?