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

相关文章

mysql5.7.15winx64配置全过程

《mysql5.7.15winx64配置全过程》文章详细介绍了MySQL5.7.15免安装版的配置步骤,包括解压安装包、设置环境变量、修改配置文件、初始化数据目录、安装服务、启动数据库、登录及密码修改... 目录前言一、首先下载安装包二、安android装步骤1.第一步解压文件2.配置环境变量3.复制my-

mybatis用拦截器实现字段加解密全过程

《mybatis用拦截器实现字段加解密全过程》本文通过自定义注解和MyBatis拦截器实现敏感信息加密,处理Parameter和ResultSet,确保数据库存储安全且查询结果解密可用... 目录前言拦截器的使用总结前言根据公司业务需要,灵活对客户敏感信息进行加解密,这里采用myBATis拦截器进行简单实

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

IDEA中配置Tomcat全过程

《IDEA中配置Tomcat全过程》文章介绍了在IDEA中配置Tomcat的六步流程,包括添加服务器、配置部署选项、设置应用服务器及启动,并提及Maven依赖可能因约定大于配置导致问题,需检查依赖版本... 目录第一步第二步第三步第四步第五步第六步总结第一步选择这个方框第二步选择+号,找到Tomca

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

springboot整合TDengine全过程

《springboot整合TDengine全过程》:本文主要介绍springboot整合TDengine全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境准备JDBC-JNI方式准备依赖实体类Mapper配置类测试类RESTful方式实体类配置类测试类总结

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.