栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP > php开源框架 > xunsearch

XunSearch初探 ubuntu16.04 进行安装简单使用

xunsearch 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

XunSearch初探 ubuntu16.04 进行安装简单使用

1 安装       1.1安装依赖环境       apt-get install php build-essential zlib1g-dev  php-mysql -y       1.2安装xunSearch程序       ./setup.sh--prefix=/usr/local/xunsearch  2 启动       /usr/local/bin/xs-ctl.sh restart 3 测试       $prefix = /usr/local/xunsearch       $prefix/sdk/php/util里面执行:       ./Indexer.php --source=csv --clean demo 4 加入开机启动       centos编辑:       /etc/rc.d/rc.local       ubuntu编辑:       /etc/rc.local 添加启动项:/usr/local/search/bin/xs-ctl.sh start 这样再次就可以了:ps -ef | grep search 就可以查看到 1个主进程3个辅助进程。

第二部分:基础样例测试 2.1 demo中csv库的测试 输入【建立索引库】:       进入到执行目录:cd  /usr/local/search/sdk/php/util       开启csv方式测试:./Indexer.php --source=csv --cleandemo       加入如下三条数据:    1,关于  xunsearch  的  DEMO  项目测试,项目测试是一个很有意思的行为!,1314336158
2,测试第二篇,这里是第二篇文章的内容,1314336160 3,项目测试第三篇,俗话说,无三不成礼,所以就有了第三篇,1314336168       最后使用回车结束,然后使用ctrl+D结束输入。 测试输出【搜索测试工具】:       ./Quest.php demo 项目 就可以显示结果了。 2.2 user中的sql库测试       新建mysql       创建数据库及数据表: CREATE TABLE `users` (   `id` int(11) NOT NULL AUTO_INCREMENTCOMMENT '序号,主键,自增',   `username` varchar(200) DEFAULT NULLCOMMENT '用户名',   `passwd` varchar(200) DEFAULT NULL COMMENT'密码',   `phone` int(11) DEFAULT NULL COMMENT'手机号',   `content` text COMMENT '信息',   PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8       插入数据:随便插入数据即可。 创建配置文件: /usr/local/search/sdk/php/app# nano user.ini 配置文件引导: http://www.xunsearch.com/tools/iniconfig 配置完成内容如下: 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{   $xs = new XS('user');   $doc = new XSDocument;
}catch (XSException $e){   echo $e->getMessage(); }
3.2 异常       如3.1基础异常使用即可。 3.3 文档       类似于msyql值里面的一条行记录,几种赋值方式,推荐setField(array());可以使用foreach循环显示。 代码如下:
include "/usr/local/search/sdk/php/lib/XS.php"; try{   $xs = new XS('user');   $doc = new XSDocument;   $doc->setFields(array(   'username' => 'jingshan2',   'passwd' => '123123',   'phone'=>'13880425377',   'content'=>'真的吗?'   )); // 用数组进行批量赋值   foreach($doc as $name => $value){   echo "$name: $valuen";   }
}catch (XSException $e){   echo $e->getMessage(); }
3.4 索引 索引使用: $xs = new XS('user'); $index = $xs->index; 针对索引,可以进行增删改查文档 添加: $data = array(   'pid' => 234, // 此字段为主键,必须指定   'subject' => '测试文档的标题',   'message' => '测试文档的内容部分',   'chrono' => time());
// 创建文档对象$doc = new XSDocument; $doc->setFields($data);
// 添加到索引数据库中$index->add($doc);
更新: $data = array(   'pid' => 234, //此字段为主键,是进行文档替换的唯一标识   'subject' => '测试文档的标题',   'message' => '测试文档的内容部分',   'chrono' => time());
// 创建文档对象$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){         var_dump($doc_v);           //echo$doc_v->username; }
快速搜索做法: $count = $search->count('项目测试');  $docs = $search->search('项目测试'); 搜索中的串接操作: 忽略:类似命令链的方式进行操作。 搜索日志: 忽略 3.6 分词接口 忽略:
第四部分:配置文件 使用配置工具进行简单的配置即可。 第五部分:管理索引 简单的索引对增删改查 第六部分:使用搜索 进行普通的搜索,获取搜索的结果及,设置搜索内容。分页。 第七部分:生成demo 使用创建方式: ./SearchSkel.php -p user -o /root 将生成的框架文件,进行web可访问配置即可。
使用:需要安装apapche2即可
php初学者-千锋php课程笔记
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/863687.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号