【问题标题】:Creating Collection in Azure Search Service using Indexer使用索引器在 Azure 搜索服务中创建集合
【发布时间】:2016-10-18 07:19:07
【问题描述】:

我正在使用索引器将数据从我的 SQL 数据库同步到 Azure 搜索服务。我的 SQL 视图中有一个字段,其中包含 XML 数据。 Column 包含一个字符串列表。我的 Azure 搜索服务索引中的相应字段集合(Edm.String)。 在检查一些文档时,我发现 Indexer 不会将 Xml(SQL) 更改为 Collection(Azure Search)。 关于如何从 Xml 数据创建集合有什么解决方法吗?

p.s 我正在从视图中提取数据,因此如果需要,我可以将 Xml 更改为 JSON。

【问题讨论】:

    标签: sql json azure azure-sql-database azure-cognitive-search


    【解决方案1】:

    2016 年 10 月 17 日更新:Azure 搜索现在自动将来自数据库的字符串转换为 Collection(Edm.String) 字段如果数据表示 JSON 字符串数组: 例如,["blue", "white", "red"]

    旧回复:时机很好,我们刚刚添加了一个新的“字段映射”功能,让您可以执行此操作。此功能将在下周初的某个时间部署。当它在所有数据中心推出时,我会在这个线程上发表评论。

    要使用它,您确实需要使用 JSON。确保您的源列包含 JSON 数组,例如 ["hello" "world"]。然后,更新您的索引器定义以包含新的 fieldMappings 属性:

    "fieldMappings" : [ { "sourceFieldName" : "YOUR_SOURCE_FIELD", "targetFieldName" : "YOUR_TARGET_FIELD", "mappingFunction" : { "name" : "jsonArrayToStringCollection" } } ]
    

    注意:您需要使用 API 版本 2015-02-28-Preview 来添加 fieldMappings。

    HTH, 尤金

    【讨论】:

    • 感谢您的快速回复。这对我们很有帮助。
    • 嘿,我只是想检查一下上述功能的进展情况。我们什么时候可以期待有关此功能的更新?
    • 您好,Pratik,该功能现已在所有地区推出。试一试,让我们知道它是怎么回事。谢谢!
    • 我实际上收到以下错误:搜索请求失败:{"error":{"code":"","message":"请求无效。详细信息:索引:属性'类型“Microsoft.Azure.Search.V2015_02_28_Preview.IndexDefinition”上不存在 fieldMappings。请确保仅使用由该类型定义的属性名称。\r\n"}}
    • 看起来您正在对索引而不是 indexeRs 进行 PUT。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 2019-02-14
    • 2020-03-03
    • 2019-03-01
    • 2019-03-22
    • 2021-03-08
    • 2015-10-10
    相关资源
    最近更新 更多