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