codecamp

清空索引

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

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

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

// 执行清空操作
$index->clean(); 
// 重新加入文档数据...
$index->add($doc);
...
$index->add($doc2);
...

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


删除文档
平滑重建索引
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

了解基础对象方法

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }