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

2024-01-09 20:18

本文主要是介绍Coreseek站内搜索引擎搭建全过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

这篇关于Coreseek站内搜索引擎搭建全过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/588311

相关文章

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Linux下安装Anaconda3全过程

《Linux下安装Anaconda3全过程》:本文主要介绍Linux下安装Anaconda3全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录简介环境下载安装一、找到下载好的文件名为Anaconda3-2018.12-linux-x86_64的安装包二、或者通

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

java中XML的使用全过程

《java中XML的使用全过程》:本文主要介绍java中XML的使用全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录什么是XML特点XML作用XML的编写语法基本语法特殊字符编写约束XML的书写格式DTD文档schema文档解析XML的方法​​DOM解析XM

Spring Cloud GateWay搭建全过程

《SpringCloudGateWay搭建全过程》:本文主要介绍SpringCloudGateWay搭建全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Spring Cloud GateWay搭建1.搭建注册中心1.1添加依赖1.2 配置文件及启动类1.3 测

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

双系统电脑中把Ubuntu装进外接移动固态硬盘的全过程

《双系统电脑中把Ubuntu装进外接移动固态硬盘的全过程》:本文主要介绍如何在Windows11系统中使用VMware17创建虚拟机,并在虚拟机中安装Ubuntu22.04桌面版或Ubunt... 目录一、首先win11中安装vmware17二、磁盘分区三、保存四、使用虚拟机进行系统安装五、遇见的错误和解决

Gradle下如何搭建SpringCloud分布式环境

《Gradle下如何搭建SpringCloud分布式环境》:本文主要介绍Gradle下如何搭建SpringCloud分布式环境问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Gradle下搭建SpringCloud分布式环境1.idea配置好gradle2.创建一个空的gr