热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Solr索引的修改方式

Solr索引的修改方式:1.使用SolrDataImport的delta_import部分增量导入的功能:Solr通过数据库导入有两种方式,full-import和delta-import,de

Solr索引的修改方式:

1.使用Solr Data Import的 delta_import部分增量导入的功能:

Solr通过数据库导入有两种方式,full-import和delta-import,delta-import增量导入的原理是利用每次我们进行import的时候在solr.home\conf下面生成的dataimport.properties文件

item.last_index_time=2014-01-24 18\:31\:47

last_index_time=2014-01-24 18\:31\:47

其实last_index_time是最近一次索引(full-import或者delta-import)的时间。

通过比较这个时间和我们数据库表中的timestamp列即可得出哪些是之后修改或者添加的

可通过http://:/solr/dataimport查看

修改data-config.xml如下:


    

            

    

其中 query是获取全部数据的SQL,deltaImportQuery是获取增量数据时使用的Sql,deltaQuery是获取pk的SQL,parentDeltaQuery是获取父Entity的pk的SQL

Full Import工作流程,执行EntityQuery获取所有数据,针对每个行数据Row,获取pk,组装子Entity的Query,执行子Entity的Query,获取子Entity的数据

Delta Import工作流程 查找子Entity直到没有为止,执行Entity的deltaQuery获取变化的pk合并子Entity parentDeltaQuery得到的pk,针对每个pk Row,组装父Entity的

parentDeltaQuery,执行parentDeltaQuery,获取父Entity的pk,执行deltaImportQuery获取自身所有的变化数据,如果没有deltaImportQuery,就执行Query进行原来的拼接

注意:

子Entity的query必须引用父Entity的pk

子Entity的parentDeltaQuery必须引用自己的pk

子Entity的parentDeltaQuery必须返回父Entity的pk

deltaImportQuery引用的必须是自己的pk

item.last_index_time=2014-01-24 18\:31\:47中的item表示data-config.xml中的document下面的标签,可以有选择的指定一个或多个,使用多个可以使得多个entity同时运行

如果不选择此参数那么所有的都会被运行

clean 表示删除索引,默认为true

commit 表示是否索引完成后提交,默认为true

opimize 对索引进行优化,默认为true,每次操作索引最后执行它,但是如果操作很频繁的话,就需要选择性的执行它

debug 是否以调试模式运行,适用于开发中,注意每次以调试模式运行,那么默认不会自动提交,请加参数commit=true才行

当对索引修改时,可以编写过滤器来HTTP请求调用这个来操作索引,http://192.168.2.123/solr/dataimport?command=delta-import&clean=false&commit=true&optimize=true

由于deltaImport是要比对配置文件和数据库数据的最后修改时间,那么如果想要先物理删除数据库中的某条记录,再去删除索引这就不行了,因为数据库中没有这条数据,无

法和配置文件的最后修改时间进行比对。

2. 利用xml格式进行索引的修改



05991
Walla Walla
Python

Set 表示修改 ,add表示新增

05991
delete的时候必须要有id

可以通过去数据库查找数据后,拼接成XML,通过HTTP请求将数据流提交到Solr服务器。


推荐阅读
author-avatar
高朗1_114
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有