solr4.1学习的第二篇笔记。
废话不多说 贴代码。
打开 之前的 data-config。xml
这里 增加了 deltaImportQuery deltaQuery
这里的增量 用到了时间。。也就是说solr 会把数据库对应数据修改后,也要记录次数据的修改时间,他会根据时间对比去做增量,所以 表结构一定要有时间。
删除索引 其实有3种方法,
一
二
三 URL
四 就是通过设置一个表用来存放删除的数据ID,然后通过在 XML中配置
deletedpkquery 进行
废话不多说 贴代码。
打开 之前的 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 进行