不对呢,仔细看一下这里,http://www.xunsearch.com/doc/php/guide/index.rebuild // 这里是开始,所有的索引操作都放在里面,update操作会先执行删除操作,然后执行add操作,update也可以的 $index->beginRebuild(); $data = array(); $doc = new XSDocument; $doc->...
不知为何,提示 "DB has been rebuilding" 就退出了。:@ 代码参考: [php] // 宣布开始重建索引 $index->beginRebuild(); // 然后在此开始添加数据 ... $index->add($doc); ... // 告诉服务器重建完比 $index->endRebuild();[/php] 我的代码应该...
平滑重建意思就是: beginRebuild() 调用后就在服务端做一个标记,原数据库不变。db 然后接下来所有的 add/update/del 操作全部写入临时数据库。db_re 直到调用 endRebuild() 这时会把 db 改为 db_o,再把 db_re 改为 db 然后清除标记恢复正...
...全丢了... 啥情况啊[hr] 问题挺严重的,也是自己写的程序,平滑update了几条数据 结果就只有update的那几条数据,其他的全没了,太恐怖了...
再次更新测试结果: 硬件信息: R410 至强四核E5620 2.4GHz*2/4G*4 1333MHz/600G*2/SAS-15Krpm Raid1 导入索引DEBUG信息: [code] 1998001, channelId=11, CostTime=2895.08, UpdateIndexTime=1226.33, UpdateProductTime=2742.26, ProductCount=10000, ProcessCount=2000000.00, MemoryUsag...
...时库, 而不是当前搜索库, 重建完成后调用 endRebuild 实现平滑重建索引, 重建过程仍可搜索旧的索引库, 如直接用 clean 清空数据, 则会导致重建过程搜索到不全的数据
...况看,很多人偏爱 util.Indexer 的 --rebuild 选项,因为它是平滑重建,让人感觉很可靠。 由于 XSIndex::beginRebuild 和 XSIndex::endRebuild 必须配对使用,但如果索引创建过程出现某些错误导致程序提前结束,那么由于没有调用 endRebuild,...
...此,如果您对线上项目操作,建议参见下一章节中介绍的平滑方式重建索引。 $Id$