网站首页 mysql技术
全文搜索的高效解决方法~~迅搜
发布时间:2016-05-31 05:04查看次数:3355
今天的任务是做一个高速搜索索引!!!如何实现高效索引!!!其实就是文字标题+文件内容
(优点就是~~~~~~不能增加代码的复杂难度就可以完成搜索任务 不用缓存哦
比 MYSQL like 要好用的多~~原理现在还不明白!!很多APP都在这样用
)
这里引入了个第三方的搜索引擎!!当然他是在LINUX下运行的!!步骤如下
1.为你的mysql表,设计对应的xunsearch配置文件,我这里是blog.ini
project.name = blog
project.default_charset = utf-8
;服务端用默认值
;server.index = 8383
;server.search = 8384
[id]
type = id
[pid]
index = self
tokenizer = full
[tid]
[authorid]
[title]
type = title
[content]
type = body
[uptime]
type = numeric
这个可以用迅搜官方的快速创建功能
http://www.xunsearch.com/tools/iniconfig
进行配置
2.然后再sdk/php/app里面添加blog.ini
2.1 启动搜索引擎服务端
/usr/local/xunsearch/bin/xs-ctl.sh -b local start
3.开始导入数据到搜索引擎索引中!
/usr/local/php/bin/php /usr/local/xunsearch/sdk/php/util/Indexer.php --rebuild --source=mysql://yourname:yourpasswd@127.0.0.1/yourdatabase --sql="select id,pid,title,content,uptime from blog_articles" --project=blog
将会出现
开始重建索引 ...
初始化数据源 ... mysql://yourname:yourpasswd@127.0.0.1/yourdatabase
开始批量导入数据 (请直接输入数据) ...
完成索引导入:成功 100 条,失败 0 条
完成重建索引 ...
Ok,你的xunsearch索引建好了,剩下的就是在php里面,引入文件,进行开发了。。。
实例如下:
<?php
//引入XS搜索对象文件
require ('./lib/XS.php');
try {
$xs = new XS('demo');
} catch (XSException $e) {
echo $e->getTraceAsString();
}
//实例化一个搜索引擎,同时搜索1
$tmp = $xs->search->search('1');
//输出数组
var_dump($tmp);
?>
关键字词:全文搜索的高效解决方法~~迅搜