1 安装
2 启动
3 测试
4 加入开机启动
添加启动项:/usr/local/search/bin/xs-ctl.sh start
这样再次就可以了:ps -ef | grep search 就可以查看到 1个主进程3个辅助进程。
第二部分:基础样例测试
2.1 demo中csv库的测试
输入【建立索引库】:
1,关于
xunsearch
的
DEMO
项目测试,项目测试是一个很有意思的行为!,1314336158
2,测试第二篇,这里是第二篇文章的内容,1314336160
2,测试第二篇,这里是第二篇文章的内容,1314336160
3,项目测试第三篇,俗话说,无三不成礼,所以就有了第三篇,1314336168
测试输出【搜索测试工具】:
就可以显示结果了。
2.2 user中的sql库测试
CREATE TABLE `users` (
) ENGINE=MyISAM DEFAULT CHARSET=utf8
创建配置文件:
/usr/local/search/sdk/php/app# nano user.ini
配置完成内容如下:
project.name = user
[id]
type = id
[username]
type = title
[passwd]
[content]
type = body
截至到目前为止:准备完成。
建立 xunsearch 索引【建立索引库】 。
默认的demo格式:--source=mysql://[user[:passwd]@]host/dbname[/table]
./Indexer.php--source=mysql://root:flzx_3QC@192.168.50.145/XunSearch/users--sql="select * from users" --clean user
注意:此处的sql语句不要加分号。
执行查询:
./Quest.php user jingshan
可以查询到结果
//感恩、草根、协同、创新
第三部分:结合php的基础使用
3.1 新建项目
新建任意.php文件,包含系统XS.php文件,这样就可以自动引入XS、XSException、XSDocument、XSIndex、XSSearch、XSTokenizer对象
简单创建代码如下:
include "/usr/local/search/sdk/php/lib/XS.php";
try{
}catch (XSException $e){
}
3.2 异常
3.3 文档
代码如下:
include "/usr/local/search/sdk/php/lib/XS.php";
try{
}catch (XSException $e){
}
3.4 索引
索引使用:
$xs = new XS('user');
$index = $xs->index;
针对索引,可以进行增删改查文档
添加:
$data = array(
// 创建文档对象$doc = new XSDocument;
$doc->setFields($data);
// 添加到索引数据库中$index->add($doc);
更新:
$data = array(
// 创建文档对象$doc = new XSDocument;
$doc->setFields($data);
// 更新到索引数据库中$index->update($doc);
删除:
按主键删除:
$index->del('123'); // 删除主键值为 123 的记录
$index->del(array('123', '789', '456')); // 同时删除主键值为 123,789, 456 的记录
按字段索引此删除:
$index->del('abc', 'subject'); // 删除字段 subject 上带有索引词 abc的所有记录
$index->del(array('abc', 'def'), 'subject'); // 删除字段subject 上带有索引词 abc 或 def 的所有记录
清空索引:
$index->clean();
平滑重建索引:
// 宣布开始重建索引$index->beginRebuild();
// 然后在此开始添加数据...
$index->add($doc);...
// 告诉服务器重建完比$index->endRebuild();
索引缓冲区:知道即可。
3.5 搜索
创建搜索对象:
$search = $xs->search;
典型搜索做法:
$search = $xs->search; // 获取 搜索对象
$query = 'jingshan'; // 这里的搜索语句很简单,就一个短语
$search->setQuery($query); // 设置搜索语句
//$search->addWeight('subject', 'xunsearch'); //增加附加条件:提升标题中包含 'xunsearch' 的记录的权重
//$search->setLimit(5, 0); // 设置返回结果最多为 5 条,并跳过前 10 条
$docs = $search->search(); // 执行搜索,将搜索结果文档保存在 $docs数组中
$count = $search->count(); // 获取搜索结果的匹配总数估算值
echo "count:",$count;
foreach($docs as $doc_v){
}
快速搜索做法:
$count = $search->count('项目测试');
$docs = $search->search('项目测试');
搜索中的串接操作:
忽略:类似命令链的方式进行操作。
搜索日志:
忽略
3.6 分词接口
忽略:
第四部分:配置文件
使用配置工具进行简单的配置即可。
第五部分:管理索引
简单的索引对增删改查
第六部分:使用搜索
进行普通的搜索,获取搜索的结果及,设置搜索内容。分页。
第七部分:生成demo
使用创建方式:
./SearchSkel.php -p user -o /root
将生成的框架文件,进行web可访问配置即可。
使用:需要安装apapche2即可
php初学者-千锋php课程笔记