Xunsearch PHP-SDK v1.4.9 权威指南

# 删除文档

当某一条数据（文档）已经过期或失效，则必须将它从索引数据库中移除，才能从搜索结果中消失。 在 `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 一致。

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

$Id$
« 更新、修改文档
清空索引 »
Copyright © 2008-2011 by 杭州云圣网络科技有限公司
All Rights Reserved.