1. 程式人生 > >Solr5.0.0配置增量索引

Solr5.0.0配置增量索引

lec 包含 index date image 刪除 字段 onf 每一個

在建成全量索引的前提之下修改data-config.xml
在data-config.xml中增加 deltaImportQuery和deltaQuery

<entity name="bookInfo" pk="BOOK_ID"
  query="SELECT 
    BOOK_ID,
    BOOK_NAME,
    UPDATE_DATE
    from
    EL.T_BOOK"

  deltaImportQuery="select BOOK_ID,
            BOOK_NAME from EL.T_BOOK where BOOK_ID = ‘${dataimporter.delta.BOOK_ID}‘" 

  deltaQuery
="select BOOK_ID from EL.T_BOOK   where to_char(UPDATE_DATE,‘yyyy-mm-dd hh24:mm:ss‘) > ‘${dataimporter.last_index_time}‘"
  >   <field column="BOOK_ID" name="id"/>   <field column="BOOK_NAME" name="bookName"/> </entity>

技術分享圖片

1中只查ID

2 4 必須一致為表中的字段

5 為固定寫法

‘${dataimporter.last_index_time}‘.
因為solr每次在全量導入時或者增量導入結束時,都會在core\conf\dataimport.properties文件中為每一個entity更新一個導入時間標誌,

技術分享圖片

這個配置文件裏的屬性對象可以在db-data-config.xml裏以${}占位符方式填充數值。

deltaQuery語句就是查詢出來上次創建索引之後數據庫發生變化的數據不包含刪除的ID

註意deltaQuery語句返回的僅僅是發生變化的數據的ID,deltaImportQuery語句則是根據deltaQuery語句返回的ID查詢出這些記錄的全部內容

Solr5.0.0配置增量索引