SQLServerデータベース用のデータインポートハンドラを試しています。複数のエンティティからのデータのインポート
solrconfig.xml
にDIhandlerを追加し、データベーススキーマに従ってdata-config.xml
を作成し、schema.xml
のフィールドを追加しました。私はSQLServerデータベースに接続しています。
接続後、dataimport?command=full-import
を実行すると、XMLタグ(データ)が正しく取得されません。私のデータ-config.xmlの
* * ***
<document name="Product">
<entity dataSource="ds-1" name="Item" pk="Item_ID"
query="select item.Item_ID, itemcode from item"
deltaImportQuery="select item.Item_ID, itemcode from item where
item.Item_ID='${dataimporter.delta.Item_ID}' "
deltaQuery="select Item_ID from item where last_modified >
'${dataimporter.last_index_time}' ">
<entity name="ReturnSolrFilter"
query="select Item_Id , CustomField_ID as CustomField from
ReturnSolrFilter where Item_Id = '${Item.Item_ID}' "
deltaQuery="select Item_Id , CustomField_ID as CustomField from
ReturnSolrFilter where last_modified >
'${dataimporter.last_index_time}' "
parentDeltaQuery="select Item_ID from item where Item_ID =
'${ReturnSolrFilter.Item_ID}' ">
</entity>
</entity>
</document>
さて結果は** ** です***
両方の表にデータがある場合
< DOC>
< int name="Item_ID">13773< /int> < str name="itemcode">15438680< /str> < arr name="CustomField"> < str>31< /str> < str>32< /str> < /arr> < /doc>
アイテムテーブルではなくReturnSolrFilterで検出されたデータは、タグが生成されていない場合(これは発生していない実際の問題たCustomFieldタグである)
< DOC>
< int name = "Item_ID"> 13773 </int>
< STR名= "itemcode"> 15438680 </STR>
</DOC>
データが見つからない場合、なぜタグを生成する必要がありますか?詳細を追加できますか? – Jayendra
はい基本的にデータが見つからない場合は、空のタグを生成します。出来ますか? – Ashutosh
基本的に、タグがxmlで生成されていない場合、属性マッピングでエラーを表示しています(フィールドがありません)。 – Ashutosh