Xunsearch PHP-SDK v1.3.2 权威指南

平滑重建索引

前一章讲到有些情况不得不需要重建索引,可以用 XSIndex::clean 立即全部清空所有数据, 然后再把现有数据全部添加到索引数据库中。

但这种方式的缺点对于线上项目是难以容忍的,因此可以选择使用平滑重建方式。它的内部实现 相当于在一个临时区域开辟新库,把所有的添加操作全部更新到新库,直到您完成重建,完成后 再用新库替代旧库用于搜索。

在编代码时,把所有的 XSIndex:add 操作都放进 XSIndex::beginRebuildXSIndex::endRebuild 之间即可。写法参考如下:

// 宣布开始重建索引
$index->beginRebuild();
 
// 然后在此开始添加数据
...
$index->add($doc);
...
 
// 告诉服务器重建完比
$index->endRebuild();

Note: 为确保重建的顺利完成,请在重建时不要对同一个项目开启多个进程、 连接同时交替重建以免发生错乱。

$Id$
Copyright © 2008-2011 by 杭州云圣网络科技有限公司
All Rights Reserved.