阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下sphinx检索Coreseek中文全文检索引擎安装和使用

425次阅读
没有评论

共计 3458 个字符,预计需要花费 9 分钟才能阅读完成。

首先解释下 sphinx 和 Coreseek 是什么?sphinx(开源全文检索引擎)Coreseek(开源的中文全文检索引擎)coreseek 是一个针对于中文检索方案的一种全文检索技术,基于 sphinx 开发的。

至于好处,简单说就是迅速和高效,尤其是在当今科技迅速发展的前提下,我们要在成百上千万的数据中查找数据,如果只是单纯的使用(select ..from ..)效率可想而知,而 coreseek 不但提供了多种语言的 API 接口,而且时间效率极高。

由于我安装的时候走了一点弯路,各种改!所以还是先把要准备的东西列出来:(当然可以直接安装:yum install …)

(1) automake…tar.gz  autoconf…tar.gz libtool…tar.gz m4…tar.gz

(2) expat…rpm expat.devel…rpm

(3) coreseek-3.2.14.tar.gz(主要就是这些,PHP 暂时不考虑)

解压(1) (3) tar -xzvh …tar.gz

解压(2)
rpm -ivh …rpm

然后执行(1):

    设置环境,升级 / 安装系统基础依赖包:m4、autoconf、automake、libtool

$ sudo bash

    $ su –

    #设置路径和中文环境:

    $ export PATH=/usr/local/bin:$PATH

    $ export LC_ALL=zh_CN.UTF-8

    $ export LANG=zh_CN.UTF-8

    $ curl -O -L http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz

    $ tar -xzvf m4-1.4.13.tar.gz

    $ cd m4-1.4.13

    $ ./configure –prefix=/usr/local

    $ make && make install

    $ cd ..

    $ curl -O -L http://mirrors.kernel.org/gnu/autoconf/autoconf-2.65.tar.gz

    $ tar -xzvf autoconf-2.65.tar.gz

    $ cd autoconf-2.65

    $ ./configure –prefix=/usr/local

    $ make && make install

    $ cd ..

    $ curl -O -L http://mirrors.kernel.org/gnu/automake/automake-1.11.tar.gz

    $ tar xzvf automake-1.11.tar.gz

    $ cd automake-1.11

    $ ./configure –prefix=/usr/local

    $ make && make install

    $ cd ..

    $ curl -O -L http://mirrors.kernel.org/gnu/libtool/libtool-2.2.6b.tar.gz

    $ tar xzvf libtool-2.2.6b.tar.gz

    $ cd libtool-2.2.6b

    $ ./configure –prefix=/usr/local

    $ make && make install

    $ cd ..

(注:虽然警告在某种程度上也是有错,但可以暂时忽略,遇到 ERROR 就要解决了,全程安装如是)

紧接着是 (2) 的安装(不安装后面的执行操作会报错)

一般的 rpm 包安装,最后在执行第(3)部,也就是接下来的操作

$ cd coreseek-3.2.14
    ## 安装 mmseg 中文分词
    $ cd mmseg-3.2.14
    $ ./bootstrap    #输出的 warning 信息可以忽略,如果出现 error 则需要解决
    $ ./configure –prefix=/usr/local/mmseg3
    $ make && make install
    $ cd ..

## 安装 coreseek,需提前安装 MySQL 以支持 mysql 数据源(/usr/local/mysql)

        $ cd csft-3.2.14

        $ sh buildconf.sh

        $ ./configure –prefix=/usr/local/coreseek  –without-unixodbc –with-mmseg –with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ –with-mmseg-libs=/usr/local/ mmseg3/lib/ –with-mysql –with-mysql-includes=/usr/local/mysql/
include –with-mysql-libs=/usr/local/mysql/lib

        $ make && make install

        $ cd ..

  ## 测试 mmseg 分词,coreseek 搜索
        $ cd testpack
        $ cat var/test/test.xml    #此时应该正确显示中文
        $ /usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc var/test/test.xml
        $ /usr/local/coreseek/bin/indexer -c etc/csft.conf –all
        $ /usr/local/coreseek/bin/search -c etc/csft.conf 网络搜索

测试完能正确显示就是配置成功了!但是,这只是第一步!接下来就是要你如何去建立一个索引

http://www.coreseek.cn/docs/coreseek_3.2-sphinx_0.9.9.html#conf-sql-query  这里是 sphinx 和 coreseek 的参考手册

参数的配置

1、数据源配置项 source 2、索引配置选项 index 3、indexer 程序配置选项 4、searchd 程序配置选项

代码如下:

source stip{
        type = mysql
        sql_host = localhost
        sql_user = root
        sql_pass =
        sql_db = test
        sql_port = 3306
        sql_query_pre = SET NAMES utf8
        sql_query = SELECT id,group_id,content FROM documents
        sql_attr_uint = author_id
}

index stip{# index 和 source 应该是成对出现,index 就是配置索引的功能(我们还可以配置多个索引 主索引 + 增量索引的功能)
        source = src
        path = /usr/local/coreseek/var/data/stip  #路径尽量使用绝对路径
        docinfo = extern
        mlock =0
        morphology = none
        min_word_len =1
        html_strip =0

        charset_type = zh_cn.utf-8
        charset_dictpath = /usr/local/mmseg3/etc/
}

searchd{#searchd 是常驻进程的全文检索服务,默认监控本机的 9312 端口
        listen = 9312
        read_timeout =5
        max_children = 30
        max_matches = 1000
        seamless_rotate = 0
        preopen_indexes = 0
        unlink_old = 1
        pid_file = /data/log/searchd_rtindex.pid
        log = /data/log/searchd_rindex.log
        query_log = /data/log/query_rtindex.log
 }

现在进入数据库阶段了,先创建好数据库和表结构

然后就是如何插入数据,成百上千万级别的数据,显而易见是使用循环插入数据

当然我使用的是 shell 脚本

然后就是测试数据 方法和前面额测试一样,然后测试结果

这些仅代表个人见解,欢迎改错!

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-02/140384.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3458字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7962679
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统 大家好,我是星哥。公司的项目文档存了一堆 ...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的 3D 玩偶了 前些日子参加某网站活动,获得一次实物 3D 打印的机会,于是从众多...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...