添加文档
搜索数据库在创建之初或运行过程中,都免不了要往索引数据库添加新文档用于检索。
首先您必须创建类型为 XSDocument 的文档对象,关于文档对象的创建请参阅XSDocument 文档 中关于索引文档的部分。特别要指出的是,文档中的主键字段值必须明确指定(即类型为 ID
的字段),否则在添加、更新过程中会抛出异常,其余字段若未指定则相当于忽略这些字段。
索引文档创建后,再调用 XSIndex::add 方法将文档加入索引数据库中即可。
Note: 如果索引数据库中已存在主键值相同的文档,并不会有冲突提示,文档仍会 添加成功并且不会有任何冲突提醒。所以除非您明确知道此为新文档,否则建议使用 更新文档。
此外,如果您自行扩展了 XSDocument,请使用您自定定义的文档类创建对象。
参考代码如下:
- $data = array(
- 'pid' => 234, // 此字段为主键,必须指定
- 'subject' => '测试文档的标题',
- 'message' => '测试文档的内容部分',
- 'chrono' => time()
- );
- // 创建文档对象
- $doc = new XSDocument;
- $doc->setFields($data);
- // 添加到索引数据库中
- $index->add($doc);