【问题标题】:Delta-import collects the data but don't update the solr IndexDelta-import 收集数据但不更新 solr 索引
【发布时间】:2013-11-23 21:13:50
【问题描述】:

我有一个 solr 索引,我正在使用 mysql DB 进行 DIH。

当我运行delta-import 命令时,正在收集自上次完全导入以来在 DB 中插入的 4 行,但索引没有更新!

841705 [qtp108251962-14] INFO  org.apache.solr.handler.dataimport.DataImporter  – Loading DIH Configuration: db-data-config.xml
841708 [qtp108251962-14] INFO  org.apache.solr.handler.dataimport.DataImporter  – Data Configuration loaded successfully
841709 [Thread-31] INFO  org.apache.solr.handler.dataimport.DataImporter  – Starting Delta Import
841709 [qtp108251962-14] INFO  org.apache.solr.core.SolrCore  – [db] webapp=/solr path=/dataimport params={command=delta-import} status=0 QTime=4 
841716 [Thread-31] INFO  org.apache.solr.handler.dataimport.SimplePropertiesWriter  – Read dataimport.properties
841719 [Thread-31] INFO  org.apache.solr.handler.dataimport.DocBuilder  – Starting delta collection.
841719 [Thread-31] INFO  org.apache.solr.handler.dataimport.DocBuilder  – Running ModifiedRowKey() for Entity: employees
841720 [Thread-31] INFO  org.apache.solr.handler.dataimport.JdbcDataSource  – Creating a connection for entity employees with URL: jdbc:mysql://localhost/sampledb
841735 [Thread-31] INFO  org.apache.solr.handler.dataimport.JdbcDataSource  – Time taken for getConnection(): 15
841736 [Thread-31] INFO  org.apache.solr.handler.dataimport.DocBuilder  – Completed ModifiedRowKey for Entity: employees rows obtained : 4
841736 [Thread-31] INFO  org.apache.solr.handler.dataimport.DocBuilder  – Completed DeletedRowKey for Entity: employees rows obtained : 0
841736 [Thread-31] INFO  org.apache.solr.handler.dataimport.DocBuilder  – Completed parentDeltaQuery for Entity: employees
841743 [Thread-31] INFO  org.apache.solr.handler.dataimport.DocBuilder  – Delta Import completed successfully
841743 [Thread-31] INFO  org.apache.solr.handler.dataimport.DocBuilder  – Time taken = 0:0:0.26
841744 [Thread-31] INFO  org.apache.solr.update.processor.LogUpdateProcessor  – [db] webapp=/solr path=/dataimport params={command=delta-import} status=0 QTime=4 {} 0 4

这是 db-data-config.xml:

<dataConfig>
    <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/sampledb" user="root" password="system" />
    <document>
        <entity name="employees" pk="ID" 
                query="SELECT * FROM employees"
                deltaImportQuery="SELECT * FROM employees WHERE ID='${dataimporter.delta.id}'"
                deltaQuery="SELECT ID from employees WHERE TRANSTIME &gt; '${dataimporter.last_index_time}'">

            <field column="ID" name="id" />
            <field column="NAME" name="name" />
            <field column="CITY" name="city" />
            <field column="SERVICE_ID" name="service_id" />

       </entity>
    </document>
</dataConfig>

但是索引仍然没有更新...我该如何解决这个问题?

这是核心的 conf 文件:
https://github.com/MuhammadHewedy/db_cores/tree/master/db/conf https://github.com/MuhammadHewedy/db_cores/blob/master/db/conf/db-data-config.xml https://github.com/MuhammadHewedy/db_cores/blob/master/db/conf/schema.xml https://github.com/MuhammadHewedy/db_cores/blob/master/db/conf/solrconfig.xml
谢谢。

【问题讨论】:

    标签: mysql solr dih


    【解决方案1】:

    试试这个:

    转到您的 /blob/master/db/conf/dataimport.properties 添加以下内容:

    #  URL params [mandatory]
    #  remainder of URL
    params=/select?qt=/dataimport&command=delta-import&clean=false&commit=true
    

    查看http://wiki.apache.org/solr/DataImportHandler此文档。

    重要的是commit=true。 如果您通过运行手动提交检查是否看到新数据

    http://localhost:8080/solr/update?commit=true
    

    【讨论】:

    • 来自上面的链接:delta-import : For incremental imports and change detection run the command http://&lt;host&gt;:&lt;port&gt;/solr/dataimport?command=delta-import . It supports the same clean, commit, optimize and debug parameters as full-import command. 在完全导入部分:commit : (default 'true'). 所以,我认为 commit=true 也是增量导入的默认值。
    • 很抱歉,如果您还有问题,我不清楚您上面的评论。如果我的回答对你有用,请告诉我。
    • 我的意思是,它对我不起作用,我只是尝试过,delta-import 在 url 中明确指定 commit=true(与上面的输出相同)。然后发出update?commit=true 仍然无法将新行从db 获取到Solr。
    • 也不适合我。你有没有为此找到任何新的解决方案?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 2023-04-08
    • 2012-06-15
    • 2011-03-14
    • 2015-12-23
    相关资源
    最近更新 更多