更新、修改文档

Xunsearch PHP-SDK 中,更新、修改文档和添加文档的做法非常的类似,只不过调用的是 XSIndex::update,并且在内部处理上有所区别。

如果索引数据库中已存在主键值相同的文档,那么相当于先删除原有的文档,再用当前文档替换它。如果未存在主键值相同的文档,则效果和添加文档完全一致。

Info: 有人可能会想,既然如此为什么还要有 XSIndex::add 呢,因为添加文档少了一个判断 过程,具有更高一些的效率。因此,如果您在使用 API 时能明确知道当前文档是新增的,那么 还是建议使用 add 这个 API

示范代码如下:

  1. $data = array(
  2. 'pid' => 234, // 此字段为主键,是进行文档替换的唯一标识
  3. 'subject' => '测试文档的标题',
  4. 'message' => '测试文档的内容部分',
  5. 'chrono' => time()
  6. );
  7.  
  8. // 创建文档对象
  9. $doc = new XSDocument;
  10. $doc->setFields($data);
  11.  
  12. // 更新到索引数据库中
  13. $index->update($doc);