我正在使用索引器将数据从我的 SQL 数据库同步到 Azure 搜索服务。我的 SQL 视图中有一个字段,其中包含 XML 数据。Column 包含一个字符串列表。我的 Azure 搜索服务索引中的相应字段集合(Edm.String)。在检查一些文档时,我发现 Indexer 不会将 Xml(SQL) 更改为 Collection(Azure Search)。关于如何从 Xml 数据创建集合有什么解决方法吗?
ps 我正在从视图中提取数据,因此如果需要,我可以将 Xml 更改为 JSON。
我正在使用索引器将数据从我的 SQL 数据库同步到 Azure 搜索服务。我的 SQL 视图中有一个字段,其中包含 XML 数据。Column 包含一个字符串列表。我的 Azure 搜索服务索引中的相应字段集合(Edm.String)。在检查一些文档时,我发现 Indexer 不会将 Xml(SQL) 更改为 Collection(Azure Search)。关于如何从 Xml 数据创建集合有什么解决方法吗?
ps 我正在从视图中提取数据,因此如果需要,我可以将 Xml 更改为 JSON。
2016 年 10 月 17 日更新:如果数据表示 JSON 字符串数组, Azure 搜索现在会自动将来自数据库的字符串转换为 Collection(Edm.String) 字段:例如,["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,尤金