为便于在采用 `开发的项目中使用
Xunsearch` 特编写本扩展。
1.1.1 or above 必须先安装 xunsearch ,参见 http://www.xunsearch.com
这个扩展是 xunsearch 全文检索的一个包装,使其在 中使用起来更加简单和符合习惯。
XSIndex::add
, XSIndex::update
方法,以便可以直接使用数组来修改索引这个扩展是一个 Application 组件,请先将下载或解压得到的 EXunsearch.php
拷入 应用的 protected/extension/
目录,然后在配置文件里的 components
部分添加以下代码:
// application components
'components' => array(
// ... other components ...
'search' => array(
'class' => 'ext.xunsarch.EXunSearch',
'xsRoot' => '/Users/hightman/Projects/xunsearch', // xunsearch 安装目录
'project' => 'demo', // 搜索项目名称或对应的 ini 文件路径
'charset' => 'utf-8', // 您当前使用的字符集(索引、搜索结果)
),
),
添加、修改索引数据,使用方法参照 XSIndex, 对于 ActiveRecord 对象来说,强烈建议在相关的事件里添加代码。
$data = array('pid' => 1234, 'subject' => '标题内容', 'message' => '内容文字');
::app()->search->add($data); // 增加文档
::app()->search->update($data); // 更新相同主键的文档
::app()->search->del('1234'); // 删除主键为 1234 的文档
使用搜索时,可以将 ::app()->search 当作 XSSearch 对象一样直接使用它的所有方法。
::app()->search->setQuery('subject:标题');
$docs = ::app()->search->setLimit(5, 10)->search(); // 取得搜索结果文档
Mar 6, 2013
Oct 16, 2012
Sep 23, 2011
这里的文档过于简单,建议使用时先通读并了解 xunsearch 项目。