2

インデクサーを使用して、SQL データベースから Azure Search サービスにデータを同期しています。SQL ビューに、XML データを含むフィールドがあります。列には文字列のリストが含まれています。コレクション (Edm.String) 内の Azure Search サービス インデックスの対応するフィールド。いくつかのドキュメントを確認したところ、Indexer が Xml(SQL) を Collection(Azure Search) に変更しないことがわかりました。Xml データからコレクションを作成する方法に関する回避策はありますか?

ps ビューからデータを抽出しているので、必要に応じて Xml を JSON に変更できます。

4

1 に答える 1

3

2016 年 10 月 17 日の更新:データが JSON 文字列配列を表す場合、 Azure Search はデータベースからの文字列を自動的に Collection(Edm.String) フィールドに変換するようになりました。たとえば、["blue", "white", "red"]

古い回答:良いタイミングです。これを可能にする新しい「フィールド マッピング」機能を追加したばかりです。この機能は、来週初めに導入される予定です。これがすべてのデータセンターで展開されたら、このスレッドにコメントを投稿します。

それを使用するには、JSON を使用する必要があります。ソース列に ["hello" "world"] などの JSON 配列が含まれていることを確認してください。次に、インデクサー定義を更新して、新しい fieldMappings プロパティを含めます。

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

注: fieldMappings を追加するには、API バージョン 2015-02-28-Preview を使用する必要があります。

HTH、ユージーン

于 2015-04-17T01:20:14.147 に答える