codecamp

添加文档

搜索数据库在创建之初或运行过程中,都免不了要往索引数据库添加新文档用于检索。

首先您必须创建类型为 XSDocument 的文档对象,关于文档对象的创建请参阅 XSDocument 文档 中关于索引文档的部分。特别要指出 的是,文档中的主键字段值必须明确指定(即类型为 ID 的字段),否则在添加、 更新过程中会抛出异常,其余字段若未指定则相当于忽略这些字段。

索引文档创建后,再调用 XSIndex::add 方法将文档加入索引数据库中即可。

Note: 如果索引数据库中已存在主键值相同的文档,并不会有冲突提示,文档仍会 添加成功并且不会有任何冲突提醒。所以除非您明确知道此为新文档,否则建议使用 更新文档。

此外,如果您自行扩展了 XSDocument,请使用您自定定义的文档类创建对象。

参考代码如下:

$data = array(

    'pid' => 234, // 此字段为主键,必须指定

    'subject' => '测试文档的标题',

    'message' => '测试文档的内容部分',

    'chrono' => time(),

);

// 创建文档对象

$doc = new XSDocument;

$doc->setFields($data);

// 添加到索引数据库中

$index->add($doc);


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