如何解决Solr delta可以批量导入吗?
我有以下问题:
我让Solr使用deltaImportquery执行存储过程,该过程更新了我的数据库表。 sp需要时间,但是如果deltaquery可以一次大批量传递所有内容而不必分别更新每个ID,那就可以了。
<entity name="TITLES" pk='OBJECT_Id_e' query="SELECT * FROM SC_SOLR_EXPORT where MP = '1'"
deletedPkQuery="SELECT OBJECT_Id_e FROM SC_SOLR_EXPORT WHERE MP = '0'"
deltaQuery="SELECT Item_id as OBJECT_Id_e FROM ModifiedItems WHERE ModifiedAt > '${dih.TITLES.last_index_time}'"
deltaImportQuery="exec SC_DelIns_SC_SOLR_EXPORT '(${dih.delta.OBJECT_Id_e})'; delete from SC_SOLR_EXPORT where id IN (select objectId from PurgeLog where objectType = '2'); SELECT * FROM SC_SOLR_EXPORT WHERE OBJECT_Id_e='${dih.delta.OBJECT_Id_e}' AND MP = '1'">
<field column="OBJECT_Id_e" name="OBJECT_Id_e" />
为了进行比较,如果我直接在数据库上运行deltaImportQuery并先前将更改从($ {dih.delta.delta.OBJECT_Id_e})写入数据库中的新表,则它将作为一组Ids和更新大约需要4分钟。
exec SC_DelIns_SC_SOLR_EXPORT '(SELECT OBJECT_Id_e from tempCreatedIds)'
如果我让Solr通过delta-import来完成整个任务,那么我将看到所有ID如何被一一发送到过程,并且要花很多时间。
我做错什么了吗?
欢呼
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。