codecamp

删除文档

当某一条数据(文档)已经过期或失效,则必须将它从索引数据库中移除,才能从搜索结果中消失。 在 Xunsearch PHP-SDK 中删除文档有下面两种方式。

1. 按主键删除

主键是指项目中类型为 id 的字段,删除是调用的是 XSIndex::del 方法,传入参数必须是 要删除的文档的主键值,或一系列主键值组成的数组

$index->del('123');  // 删除主键值为 123 的记录
$index->del(array('123', '789', '456')); // 同时删除主键值为 123, 789, 456 的记录

2. 按特定字段上的索引词删除

在项目中,除了主键之外我们通常也会对其它字段进行索引。如果该字段的索引方式(即配置文件中 index 选项的值)为 self 或 both,那么也可以根据该字段上的索引词进行删除。

特别注意是根据索引词删除而不是该字段的值,索引词是指该字段值经过分词器处理后得到的词汇。 对于索引方式为 mixed 的,如需删除,请把字段名设为类型为 body 的字段的名称。

$index->del('abc', 'subject'); // 删除字段 subject 上带有索引词 abc 的所有记录
$index->del(array('abc', 'def'), 'subject'); // 删除字段 subject 上带有索引词 abc 或 def 的所有记录

Note: 如果您删除时指定的主键或字段索引词包含中文字符,则它的编码必须与整个项目的 默认字符集XS::defaultCharset 一致。

此外删除操作和添加文档一样,也是一个异步行为。


更新、修改文档
清空索引
温馨提示
下载编程狮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; }