doc और googling देखने के बाद, मैंने इस समस्या को हल कर दिया है।
टेबल्स
- पुस्तक
- लेखक
- book_author_map (यह कई-से-अनेक संबंधों के लिए मध्य तालिका है)
DIH कॉन्फ़िग फ़ाइल
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull" user="root"
password="123456" />
<document>
<entity name="book" pk="id"
query="SELECT * FROM book where status = 0 limit 200000;"
deltaImportQuery="SELECT * FROM book where status = 0 and id='${dih.delta.id}' limit 200000;"
deltaQuery="select id from book where status = 0 and CONVERT_TZ(`update_date`, @@session.time_zone, '+00:00') > '${dih.last_index_time}'"
>
<entity name="author"
query="SELECT au.cn_name as author_cn_name FROM author AS au JOIN book_author_map AS bam ON au.id = bam.author_id WHERE bam.book_id = ${book.id} limit 10;"
>
<field name="authors" column="author_cn_name" />
</entity>
</entity>
</document>
</dataConfig>
फ़ील्ड परिभाषा
<field name="cn_name" type="textComplex" indexed="true" stored="true" />
<field name="en_name" type="textComplex" indexed="true" stored="true" />
<field name="status" type="int" indexed="true" stored="true" />
<field name="authors" type="textComplex" indexed="true" stored="true" multiValued="true" />
TODOs
parentDeltaQuery
इसे मूल इकाई का pk मिलता है, लेकिन इसे कब कहा जाता है, और क्या किया जाता है? क्या यह आवश्यक है?- क्या
deltaQuery
करता है औरparentDeltaQuery
उप इकाई में आवश्यक है?