Coreseek站内搜索引擎搭建全过程

来源:互联网 发布:淘宝搜索不到域名 编辑:程序博客网 时间:2024/04/28 22:51

CoreSeek安装

http://www.coreseek.cn/products-install/install_on_bsd_linux/

比较常用的linux系统为 CentOS-5.5/5.6 安装coreseek需要预装以下软件,直接输入命令安装即可

yum install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel

搜索系统建立指南

http://www.coreseek.cn/products-install/step_by_step/

PHP调用实例

晚上上面几个步骤后,最后一步是链接数据库并且按权重列出匹配的内容。

在输出前结果前要先获取到匹配的ID

if($res['matches']){foreach($res['matches'] as $value){ $arr[] = $value['id'];}$str =implode( ',', $arr );}else{echo "没有匹配到任何结果";$str="0";}

代码大概意思为:如果有匹配项,把匹配ID遍历出来并赋值到一个新数组$arr,然后把$arr分解成字符串并赋值到$str,有兴趣的话可以 echo $str 测试看看,显示结果格式为 id1,id2,id3

如果没有匹配项,$str则为0,并输出没有匹配到任何结果,下一步就是链接数据库,并在SQL语句中输出跟匹配ID相同的文章。

$conn=@mysql_connect("localhost", "root", "root") or die ("链接出错"); mysql_select_db("test",$conn);$sql = "SELECT * FROM documents WHERE id IN ($str)";$fh =@mysql_query($sql, $conn) or die(mysql_error());while($row=mysql_fetch_assoc($fh)){ echo "$row[title]<br />$row[content]<hr />";}

如果希望搜索结果高亮,把while部分替换成下面的代码

 $options = array(        'before_match'          => '<b style="color:red">',        'after_match'           => '</b>',        'chunk_separator'       => ' ... ',        'limit'                 => 60,        'around'                => 3,);while($row=mysql_fetch_assoc($fh)){ $res = $cl->BuildExcerpts($row,'mysql',$keywords,$options);echo "<a href='$res[9]'>$res[3]</a><br />$res[17]<hr >";//print_r($res);}

第一个是高亮的参数,我配置成了加粗并红色显示。

如果不知道如何正确调用标题和内容,可以先 print_r($res) 找到标题和内容在哪个关键字段下。

BuildExcerpts(documents, index, words, options)

第一个参数为结果数组,第二个参数为索引名称,第三个则为搜索关键字,第四个就是高亮配置了。

附录

启动搜索服务

/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft.conf

停止搜索服务

/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft.conf --stop

强制关闭searchd服务

killall -9 searchd

建立索引

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft.conf --all

更新索引(已启动搜索服务时使用)

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft.conf --all --rotate

关键字检索

/usr/local/coreseek/bin/search -c /usr/local/coreseek/etc/csft.conf 网络搜索

常见错误

FATAL: failed to lock /usr/local/coreseek/var/data/mysql.spl: Resource temporarily unavailable, will not index. Try --rotate option.

在已启动searchd服务时执行 建立索引 就会出现如上错误,这时应该用 更新索引 命令,或者先 关闭searchd服务。也可已删除生成的索引文件,一般在/usr/local/coreseek/var/data 目录下

bind() failed on 0.0.0.0, retrying...

在已启动searchd服务时执行 启动搜索服务 就会出现如上错误,请先关闭searchd服务

欢迎转载,但请保留原文地址 http://www.sjyhome.com/linux/coreseek-build-overall-process.html

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 专升本差了一分怎么办 登录不上学信网怎么办 steam被好友删了怎么办 护士继续教育学分证丢了怎么办 护士证到期未延续注册怎么办 学籍和户口不在一起小升初怎么办 定了酒店不能退怎么办 去哪儿网酒店不允许取消怎么办 快递寄送身份证扣海关怎么办 7岁龋齿烂到牙根怎么办 法院判完对方说没钱怎么办 初中填完志愿后怎么办 上海小学借读一年级没有学籍怎么办 学历不高的我该怎么办 没学历的我该怎么办 物业达不到服务标准该怎么办 没有能力的人该怎么办 工作累了腰疼怎么办 机场来早了6小时怎么办 苏宁金融综合评分不足怎么办 苏宁金融秒拒怎么办 微盘账号忘记了怎么办 天府e税忘记密码怎么办 未成年在外面没地方住怎么办? 半框眼镜片掉了怎么办 选修差0.5个学分怎么办 脱产考博社保卡怎么办 幼儿上课不认真听讲怎么办 手机恢复的音频文件打不开怎么办 高考志愿填报不记得密码怎么办 经济纠纷案被告没有证据怎么办 管家婆管理员密码忘记了怎么办 人离职了公司扣发工资怎么办? 美国给我们断网怎么办 sci发表后发现错误怎么办 pos机按键是英文怎么办 蔚县县医院慢病本怎么办 知网下载的论文乱码怎么办 被期刊网骗了怎么办? 缝针缝到神经上怎么办 单位有个事特别多的领导怎么办