清空索引

当您的索引数据库发生了重大改变时必须清空索引。比如搜索项目的字段配置修改了,或者是数据进行了大模迁移、导入或批量删除导致真实数据库和搜索数据库发生了较大的偏差。

Tip: 在我们附带的Indexer 索引管理工具中提供了 —clean 选项用于清空项目的索引数据库,用起来更简洁。

清空数据很简单,直接调用 XSIndex::clean 即可,代码如下:

  1. // 执行清空操作
  2. $index->clean();
  3.  
  4. // 重新加入文档数据
  5. ...
  6. $index->add($doc);
  7. ...
  8. $index->add($doc2);
  9. ...

Note: 清空索引是一个同步操作,一旦执行立即生效,并且不可恢复。如果采用这种 方式重建索引,由于原有索引被立即清空了,可能会有一小段时间无法搜索到数据。 因此,如果您对线上项目操作,建议参见下一章节中介绍的平滑方式重建索引。