删除文档

当某一条数据(文档)已经过期或失效,则必须将它从索引数据库中移除,才能从搜索结果中消失。在 Xunsearch PHP-SDK 中删除文档有下面两种方式。1. 按主键删除主键是指项目中类型为 id 的字段,删除是调用的是 XSIndex::del 方法,传入参数必须是要删除的文档的主键值,或一系列主键值组成的数组

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

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

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

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

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

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