...d,subject,message,chrono 。 填充索引数据 ----------- 出于测试方便,我们采用 `csv` 格式来写入索引数据,请先按以下方式操: ~~~ cd $prefix/sdk/php util/Indexer.php --source=csv --clean demo ~~~ 然后脚本会给出如下提示: ~~~ 初始化数据源 ...
搜索测试工具 `Quest` 是搜索测试工具,提供了搜索相关的各项功能,非常适合用于前期测试比较和纠错。 运行脚本工具的 --help 选项可查看内置的帮助和说明,如乱码可在选项后加入 -c gbk 试试。 ~~~ $prefix/sdk/php/util/Que...
...( 'pid' => 234, // 此字段为主键,必须指定 'subject' => '测试文档的标题', 'message' => '测试文档的内容部分', 'chrono' => time() ); // 创建文档对象 $doc = new XSDocument; $doc->setFields($data); // 添加到索引数据库中 $index->add($doc); ~~~ ...
...回空数组。 ~~~ [php] // 假设在本意是在 demo 项目中搜索 "测试",但不小心打成了 "侧试" $search->setQuery('侧试'); $docs = $search->search(); // 由于拼写错误,这种情况返回的数据量可能极少甚至没有,因此调用下面方法试图进行修正 $...
...字段为主键,是进行文档替换的唯一标识 'subject' => '测试文档的标题', 'message' => '测试文档的内容部分', 'chrono' => time() ); // 创建文档对象 $doc = new XSDocument; $doc->setFields($data); // 更新到索引数据库中 $index->update($doc); ~~~ ...
...后展开使用,而不是自行创建对象。后面章节中的 相关测试代码如果没有特别编写,其中的 `$search` 均为通过类似以下的方式获取的索引对象: ~~~ [php] require '$prefix/sdk/php/lib/XS.php'; $xs = new XS('demo'); // 建立 XS 对象,项目名称为...
... } $doc = new MyDocument('gbk'); $doc->pid = 123; $doc->subject = 'Hello, 测试'; $doc->message = '测试的内容在此'; $xs->index->add($doc); ~~~ [1]: http://php.net/manual/en/book.iconv.php [2]: http://php.net/manual/en/book.mbstring.php $Id$
...开各种操作,而不是自行创建对象。后面章节中 的相关测试代码如果没有特别编写,其中的 `$index` 均为通过类似以下的方式获取的索引对象: ~~~ [php] require '$prefix/sdk/php/lib/XS.php'; $xs = new XS('demo'); // 建立 XS 对象,项目名称为:...
...~~ [php] // 假设曾经有一次 search 调用 $docs = $search->setQuery('测试')->setLimit(5)->search(); // 必须在 search() 之后调用 $count = $search->lastCount; $count = $search->getLastCount(); ~~~ 直接获取搜索匹配数 ---------------- 通过 [XSSearch::count] 调用可以直...
... ~~~ [php] // 以 demo 项目的配置为例 $docs = $search->setQuery('测试')->setLimit(5)->search(); foreach ($docs as $doc) { // 其中常用魔术方法:percent() 表示匹配度百分比, rank() 表示匹配结果序号 echo $doc->rank() . '. ' . $doc->subject . " [" . $doc->percent(...