删除文档

2019-08-14 14:17 更新

当某一条数据(文档)已经过期或失效,则必须将它从索引数据库中移除,才能从搜索结果中消失。 在 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下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号