Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Solr - DIH xác định và nhập trường nhiều-nhiều

Sau khi xem tài liệu và googling, tôi đã giải quyết được vấn đề.

Bảng

  • sách
  • tác giả
  • book_author_map (đây là bảng giữa cho mối quan hệ nhiều-nhiều)

Tệp cấu hình 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&amp;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')  &gt; '${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>

Định nghĩa trường

<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" />

VIỆC CẦN LÀM

  • parentDeltaQuery Nó nhận pk của thực thể mẹ, nhưng khi nào nó được gọi, và làm gì? Điều đó có cần thiết không?
  • deltaQueryparentDeltaQuery cần thiết trong thực thể con?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Câu lệnh SQL để thu hút tất cả khách hàng không có đơn đặt hàng

  2. Cách xử lý khóa ngoại khi phân vùng

  3. Tự động tạo cột từ dữ liệu hàng bằng Chọn trong Bigquery

  4. Tạo một cột được tính toán dựa trên một cột khác trong MySQL

  5. Sự cố khi truy cập MySQL từ Java