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

相关文章

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i