跳转至内容
0
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Zephyr)
  • 不使用皮肤
折叠
JIKE社区
  1. 首页
  2. 讨论区
  3. 技术专区
  4. 建站经验
  5. 简单几步搭建一个支持自定义数据的搜索引擎

简单几步搭建一个支持自定义数据的搜索引擎

已定时 已固定 已锁定 已移动 建站经验
1 帖子 1 发布者 464 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • H 离线
    H 离线
    hyf3513
    🍌
    写于 最后由 编辑
    #1

    引言

    可能很多朋友们都对OneGO网盘导航的**OneDrive网盘搜索引擎**十分感兴趣,相信很多朋友们也想拥有一个属于自己的,可自定义数据的搜索引擎。

    可是网上的教程大多集中于利用SearX实现聚合各个公共搜索引擎的数据源,而不是用自己爬取的数据作为数据源。


    而提到了如何利用自有数据建立搜索引擎的教程大多是基于ElasticSerach,对于我们轻量级使用的用户而言,这个学习成本太高,仅仅是要实现简单的搜索以及联想关键词功能就需要数以月计的时间进行学习

    若要使用阿里云等提供开发好的的Elastic搜索服务,又会发现每个月包月的价格对于我们这些访问量不大的小站而言,十分不划算。仅仅最低档的套餐就要104元,有这钱升级一下服务器他不香吗?

    所以我们来尝试自建一个搜索引擎吧!!

    需要用到的东西

    Linux系统的VPS*1
    ps:如果你不知道这个玩意儿是啥的话,推荐看看之前的推文:

    • 小白建站指北(一)-vps,虚拟主机,挂机宝....这些概念都是个啥啊

    XunSearch开源中文全文搜索引擎项目

    MySQL数据库(作为数据源)

    一丢丢Linux运维命令的基础

    XunSearch介绍

    Xunsearch 是一个高性能、全功能的全文检索解决方案。

    Xunsearch 旨在帮助一般开发者针对既有的海量数据,快速而方便地建立自己的全文搜索引擎。
    Xunsearch 中文译名为“迅搜”,代码中的经常被缩写为 XS,既是英文名称的缩略也是中文声母缩写。 这儿的“迅”是快速的意思,至少包含了两层涵义:其一代表了搜索结果的响应能力,其二则为二次开发难度、速度。

    可以看出,XunSearch主要分为 利用C++开发的后端用于建立索引以及搜寻索引,还有一个XunSearch PHP-SDK作为前端。

    部署XunSearch

    现在正式开始我们的教程吧

    安装过程

    先检查是否安装了后续部署需要的组件,对于后端的安装而言,至少得有GCC用于编译,以及wget用于下载
    一般而言这两项都是有的(Md,还真有些精简过的系统没有)
    不放心的朋友们可以试试这两个命令,来检查是否安装了这些需要的组件

    gcc -v
    rpm -qa|grep "wget"
    

    检查过后就可以用Linux下常用的软件安装三句话搞定了

    下载并解压

    wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
    tar -xjf xunsearch-full-latest.tar.bz2
    

    进入目录并执行安装命令

    cd xunsearch-full-1.4.14/      这一步要看你自己安装下来的版本是多少
    sh setup.sh
    

    ps:这一步由于服务器性能限制,可能会执行很久,千万不要中途断开连接哦

    启动后端

    cd  安装目录    这里填入你上一步记下的安装目录
    bin/xs-ctl.sh restart
    

    配置过程

    (a)部署php-sdk

    在安装了之后,php-sdk会被释放到安装目录下的/sdk/php/目录下

    这个php-sdk呢,就相当于一个网站的源码,要部署的时候直接复制到网站根目录即可,就和一般的网站搭建过程一样,这个不是技术上的难点

    (b)配置文件的编写

    配置文件的编写是XunSearch项目的核心部分,具体每一项的含义在**技术文档**有
    我这里以一个简单够用的例子来解析

    project.name = OneGoSearch  //项目名称
    
    [id]   //字段名称
    type = id    ///字段类型,此处为主键,每个项目必须要一个主键
    
    [name1]
    index = mixed     
    
    [link1]
    index = mixed
    
    ,
    

    这里说明几点:这些字段需要与你存入数据库中的数据的字段相同,比如说如下图

    我要能够让用户按照名字搜索到这些资源站的文件的链接,就需要索引name1,link1,还需要一个id作为唯一标识的主键。

    然后由于name1与link1里面的内容按照各个加盟资源站不同的命名习惯,导致名字里中英文,数字以及特殊符号的表示十分复杂,所以选择mixed类型作为字段类型

    上面这样手动编写是为了能够更清楚的看懂配置文件编写的原则

    实际上,官方提供了简明易用的配置文件编写工具:Ini文件设计辅助工具

    这个只需要傻瓜化的选择类型,填入字段名即可生成配置文件

    生成好的文件,需要放入PHP-sdk中的/app文件夹,并且命名为与项目名称相同
    如下图所示

    (c)建立索引并测试搜索

    最后一步就是建立索引啦
    切换到php-sdk目录下,我们以SQL数据库作为数据源导入索引

     util/Indexer.php --rebuild --source=mysql://user:passwd@localhost/database --sql="SELECT * FROM table" --project=projectname
    
    


    user:数据库的用户名
    passwd:数据库密码
    database:数据库名称
    table:存储了需要索引的信息的数据表
    projectname:上一步设置的项目名称

    我们再来测试一下搜索
    能看到结果就说明测试部署完成了

    之后我们就可以到之前安放了php-sdk的网站进行搜索了
    (我这个是由大佬帮忙美化过的前端,实际上XunSearch自带的前端有点丑)

    本文首发于OneGO网盘导航
    未经授权,不允许转载

    1 条回复 最后回复
    0
    回复
    • 在新帖中回复
    登录后回复
    • 从旧到新
    • 从新到旧
    • 最多赞同


    Popular Topics - 热门主题
    • Bug! Bug !Google One 学生优惠 可无门槛验证
      mztcM
      mztc
      3
      14
      4.8k

    • MySQL 8.0 OCP 限时免费考
      HebutMrLiuH
      HebutMrLiu
      1
      5
      197

    • 阿里云国际站轻量应用服务器 2C+1G+200M带宽 仅9.9美元一年!
      T
      Test
      1
      4
      1.0k

    • <海外剧>行尸走肉:死城 第二季[2025][惊悚 恐怖 冒险][附行尸走肉 系列全部]
      我是小马甲~M
      我是小马甲~
      1
      3
      23

    • 京东冲100明天送一张25-20外卖卷
      我是小马甲~M
      我是小马甲~
      1
      2
      660

    • giffgaff免流教程
      建军建
      建军
      1
      2
      571

    • 登录

    • 没有帐号? 注册

    • 登录或注册以进行搜索。
    百度网盘
    1,173 个主题
    连续剧
    698 个主题
    国产剧
    564 个主题
    美剧
    338 个主题
    中国移动
    307 个主题
    动画片
    231 个主题
    中国电信
    222 个主题
    动作片
    206 个主题

    241

    在线

    39.9k

    用户

    40.1k

    主题

    110.4k

    帖子
    • 第一个帖子
      最后一个帖子