solr6.5.1(1)定時增量更新,data-config配置

1.data-config.xml配置增量執行語句

<?xml version="1.0" encoding="UTF-8" ?>

<dataConfig>

    <dataSource name="source_hinew" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" 
      url="jdbc:mysql://localhost:3306/solr_test?serverTimezone=UTC&amp;useUnicode=true&amp;autoReconnect=true&amp;characterEncoding=UTF-8" 
      user="test" password="test"/>
    <document>
    <entity name="member" pk="memid"  >
      query="select distinct * from member" 
      deltaQuery="select memid from member
          where mem_date_updated > '${dataimporter.last_index_time}'"
      deltaImportQuery="select memid from member
          where mem_date_updated > '${dataimporter.last_index_time}'">
        <field column="memid" name="memid" />  
        <field column="name" name="name" />  
        <field column="mem_first_name" name="mem_first_name" />  
        <field column="mem_last_name" name="mem_last_name" />  
        <field column="mem_org_title" name="mem_org_title" />  
        <field column="mem_org_dept" name="mem_org_dept" />  
        <field column="mem_job_func" name="mem_job_func" />  
        <field column="mem_job_level" name="mem_job_level" />  
        <field column="mem_add_city" name="mem_add_city" />  
        <field column="mem_add_state_code" name="mem_add_state_code" />  
        <field column="mem_add_country_code" name="mem_add_country_code" />  
        <field column="mem_date_created" name="mem_date_created" />  
        <field column="mem_email" name="mem_email" />  
        <field column="mem_orgid" name="mem_orgid" />  
        <field column="mem_add_address" name="mem_add_address" />  
  
    </entity>
</document>  
</dataConfig> 

delta-import:通過deltaQuery,查到數據庫中未被索引記錄的ids(id1,id2...),然后執行deltaImportQuery,如果沒用deltaImportQuery,就通過Query去組裝deltaImportQuery。對于上面的配置文件,就應該組裝成這樣的query:select distinct * from member where memid = id1,把這條記錄導入索引庫里面,然后再導id2。曾以為solr應該組裝select .. from .. where .. and memid in (id1, id2)這樣的query,可好像它并沒這樣做。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 兩年前用過solr5.1版本的,當時只是簡單入個門,拿來在項目里建個全文索引,然后再query,其他什么也沒做,還...
    Coselding閱讀 3,126評論 3 22
  • solr 數據同步,全量、增量方式 DIH全量同步(全表數據)(一般做第一次數據同步) 首先創建對應的數據庫表 s...
    逐暗者閱讀 14,677評論 1 26
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,766評論 18 399
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,947評論 18 139
  • 今天老師講解了ADO.NET數據庫等內容,下午助教講解了習題,課程馬上就要結束了,要努力加把勁把沒消化的知識點弄懂...
    曹耀文08閱讀 138評論 0 0