Yii-Xunsearch 扩展 ¶
Yii 是一个流行的高性能可扩展 PHP5 框架,
为便于在采用 Yii
开发的项目中使用 Xunsearch
特编写本扩展。
Requirements ¶
Yii 1.1.1 or above 必须先安装 xunsearch ,参见 http://www.xunsearch.com
Description: ¶
这个扩展是 xunsearch 全文检索的一个包装,使其在 Yii 中使用起来更加简单和符合习惯。
- 通过魔术方法可以直接调用 XSSearch/XSIndex 中的绝大多数方法
- 覆盖了
XSIndex::add
,XSIndex::update
方法,以便可以直接使用数组来修改索引 - 具体关于 xunsearch 的部分请参见其官方文档:http://www.xunsearch.com/doc
Usage: ¶
这个扩展是一个 Application 组件,请先将下载或解压得到的 EXunsearch.php
拷入 Yii 应用的 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' => '内容文字');
Yii::app()->search->add($data); // 增加文档
Yii::app()->search->update($data); // 更新相同主键的文档
Yii::app()->search->del('1234'); // 删除主键为 1234 的文档
使用搜索时,可以将 Yii::app()->search 当作 XSSearch 对象一样直接使用它的所有方法。
Yii::app()->search->setQuery('subject:标题');
$docs = Yii::app()->search->setLimit(5, 10)->search(); // 取得搜索结果文档
ChangeLog: ¶
Mar 6, 2013
- 加入到 xunsearch 开发包中
Oct 16, 2012
- 优化魔术方法访问方式
Sep 23, 2011
- 第一个简要包装版本
NOTE: ¶
这里的文档过于简单,建议使用时先通读并了解 xunsearch 项目。
额!支持中文插件!
顶楼主
Are you serious??
Not everyone in the world is chinese.
reply-to: drumaddict
sorry, but this extension is almost just for chinese user.
发布的正是时间
正在为一个新Yii项目找一个方便的全文搜索,这来的太是时候了。昨晚研究到半夜,非常好,支持!!
楼主,为你感到悲哀
貌似有的老外觉得,YII扩展必须要是能支持所有语言的,我觉得中国人好悲哀!
太好了,正是需要的.
中文分词和搜索是十分重要,自己开发成本太高,质量也不好,有这个完整的开源系统将会非常方便。我会在项目中试用。
感谢开发者,强烈支持!
郁闷啊!
'class' => 'ext.xunsarch.EXunSearch',
xuns-e-a-r-c-h
调试来调试去都不知道为什么要说别名错误。。。
原来打错字啊。。。
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.