solr4.1 增量导入 & 删除索引

solr4.1学习的第二篇笔记。

废话不多说 贴代码。

打开 之前的 data-config。xml

<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@IP:1521:db01" user="root" password="root" />
<document>
<entity name="solrtest" pk="ID" query="select ID,USER_NAME,USER_PASS,USER_TYPE,USER_ROLE from T_USER"
deltaImportQuery="select ID,USER_NAME,USER_PASS,USER_TYPE,USER_ROLE from T_USER where ID = '${dataimporter.delta.ID}'"
deltaQuery="select ID from T_USER where UPDATE_TIME > to_date('${dataimporter.last_index_time}','yyyy-mm-dd hh24:mi:ss')">
<field column="ID" name="id"/>
<field column="USER_NAME" name="username"/>
<field column="USER_PASS" name="userpass"/>
<field column="USER_TYPE" name="usertype"/>
<field column="USER_ROLE" name="userrole"/>
</entity>
</document>
</dataConfig>


这里 增加了 deltaImportQuery deltaQuery

这里的增量 用到了时间。。也就是说solr 会把数据库对应数据修改后,也要记录次数据的修改时间,他会根据时间对比去做增量,所以 表结构一定要有时间。

删除索引 其实有3种方法,



    curl http://localhost:8080/solr/update --data-binary "<delete><query>title:abc</query></delete>" -H 'Content-type:text/xml; charset=utf-8'  

#删除完后,要提交

curl http://localhost:8080/solr/update --data-binary "<commit/>" -H 'Content-type:text/xml; charset=utf-8'





    java -Ddata=args  -jar post.jar "<delete><id>42</id></delete>"  

#怎么使用 post.jar 查看帮助

java -jar post.jar -help



三 URL

http://localhost:9080/solr/update/?stream.body=%3Cdelete%3E%3Cid%3E14%3C/id%3E%3C/delete%3E&stream.contentType=text/xml;charset=utf-8&commit=true


四 就是通过设置一个表用来存放删除的数据ID,然后通过在 XML中配置
deletedpkquery 进行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值