[Xunsearch PHP-SDK](http://www.xunsearch.com) v1.4.8 权威指南
1. [使用重建](#)
1. [中止重建](#)
# 平滑重建索引
前一章讲到有些情况不得不需要重建索引,可以用 [XSIndex::clean](#) 立即全部清空所有数据,然后再把现有数据全部添加到索引数据库中。
但这种方式的缺点对于线上项目是难以容忍的,因此可以选择使用平滑重建方式。它的内部实现相当于在一个临时区域开辟新库,把所有的添加操作全部更新到新库,直到您完成重建,完成后再用新库替代旧库用于搜索。
### 1. 使用重建[?]()
在编代码时,把所有的 [XSIndex:add](#) 操作都放进 [XSIndex::beginRebuild](#) 和 [XSIndex::endRebuild](#) 之间即可。写法参考如下:
~~~
// 宣布开始重建索引
$index->beginRebuild();
// 然后在此开始添加数据
...
$index->add($doc);
...
// 告诉服务器重建完比
$index->endRebuild();
~~~
> **Note:** 为确保重建的顺利完成,请在重建时不要对同一个项目开启多个进程、 连接同时交替重建以免发生错乱。
### 2. 中止重建[?]()
虽然我们一再强调,但仍然会在某些意外情况下,导致重建工作意外终止。这时索引库进入一个崩溃状态,出现 `DB has been rebuilding` 的错误。
这时您可以再次调用 [XSIndex::beginRebuild](#) 开始重建索引,但这会丢失之前的所有重建成果。您还可以在重建前先调用 [XSIndex::stopRebuild](#) 直接清除这个错误状态。
> **Note:** 中止重建以及重复开启重建的功能自 `1.3.4` 版起可用。
$Id$
[« 清空索引](#)
[使用索引缓冲区 »](#)
Copyright © 2008-2011 by [杭州云圣网络科技有限公司](http://www.xunsearch.com)
All Rights Reserved.
![](https://box.kancloud.cn/2015-09-10_55f11d039d2c9.gif)
![](https://box.kancloud.cn/2015-09-10_55f11d03afae3.gif)
![](https://box.kancloud.cn/2015-09-10_55f11d03b7692.gif)
- 权威指南
- 新手上路
- 最新主要变动
- 概述
- 关于 Xunsearch PHP-SDK
- 安装、升级
- 体验 demo 项目
- 开发规范
- 开发流程
- 了解基础对象
- 基础对象概述
- XS 项目
- XSException 异常
- XSDocument 文档
- XSIndex 索引管理
- XSSearch 搜索
- XSTokenizer 分词接口
- 编写项目配置文件
- 项目配置详解
- 自定义分词器
- 编写第一个配置文件
- 管理索引
- 索引概述
- 添加文档
- 更新、修改文档
- 删除文档
- 清空索引
- 平滑重建索引
- 使用索引缓冲区
- 自定义SCWS词库
- 使用搜索
- 搜索概述
- 构建搜索语句
- 获取搜索匹配结果
- 获取搜索匹配数量
- 获取热门搜索词
- 获取相关搜索词
- 搜索建议和纠错
- 按字段值分面搜索
- 使用辅助工具
- RequiredCheck 运行检测
- Indexer 索引管理器
- Quest 搜索测试工具
- SearchSkel 生成搜索代码
- IniWizzard 配置文件向导
- Logger 搜索日志管理
- 专题
- 同义词搜索功能
- 在SDK中使用SCWS分词
- API 指南
- XS
- XS
- XSCommand
- XSComponent
- XSDocument
- XSErrorException
- XSException
- XSFieldMeta
- XSFieldScheme
- XSIndex
- XSSearch
- XSServer
- XS.tokenizer
- XSTokenizer
- XSTokenizerFull
- XSTokenizerNone
- XSTokenizerScws
- XSTokenizerSplit
- XSTokenizerXlen
- XSTokenizerXstep
- XS.util
- XSCsvDataSource
- XSDataFilter
- XSDatabaseDataSource
- XSDebugFilter
- XSJsonDataSource
- XSUtil
- XS.util.db
- XSDatabase
- XSDatabaseMySQL
- XSDatabaseMySQLI
- XSDatabasePDO
- XSDatabasePDO_MySQL
- XSDatabasePDO_PgSQL
- XSDatabasePDO_SQLite
- XSDatabasePgSQL
- XSDatabaseSQLite
- XSDatabaseSQLite3
- XS.utilf
- XSDataSource
- 其它文档
- 关于 xunsearch
- 特色和优势
- Xunsearch 架构简图
- 下载 Xunsearch
- 商业服务与支持
- XunSearch 授权许可证