千家信息网

高性能SQL全文检索引擎Sphinx怎么用

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,这篇文章主要为大家展示了"高性能SQL全文检索引擎Sphinx怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"高性能SQL全文检索引擎Sphinx怎么
千家信息网最后更新 2024年11月24日高性能SQL全文检索引擎Sphinx怎么用

这篇文章主要为大家展示了"高性能SQL全文检索引擎Sphinx怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"高性能SQL全文检索引擎Sphinx怎么用"这篇文章吧。

Sphinx是一款基于SQL的高性能全文检索引擎,Sphinx的性能在众多全文检索引擎中也是数一数二的,利用Sphinx,我们可以完成比数据库本身更专业的搜索功能,而且可以有很多针对性的性能优化。

Sphinx的特点

  • 快速创建索引:3分钟左右即可创建近100万条记录的索引,并且采用了增量索引的方式,重建索引非常迅速。

  • 闪电般的检索速度:尽管是1千万条的大数据量,查询数据的速度也在毫秒级以上,2-4G的文本量中平均查询速度不到0.1秒。

  • 为很多脚本语言设计了检索API,如PHP,Python,Perl,Ruby等,因此你可以在大部分编程应用中很方便地调用Sphinx的相关接口。

  • 为MySQL设计了一个存储引擎插件,因此如果你在MySQL上使用Sphinx,那简直就方便到家了。

  • 支持分布式搜索,可以横向扩展系统性能。

PHP+MySQL+Sphinx 搜索引擎架构图

在MySQL中安装Sphinx

Sphinx在MySQL上安装有两种方式:

  • ***种方式是采用API调用,我们可以使用PHP,Python,Perl,Ruby等编程语言的API函数进行查询,这种方式不必重新编译MySQL,模块间改动比较少,相对灵活。

  • 第二种需要重新编译MySQL,将Sphinx以插件的方式编译到MySQL中去,这种方式对程序改动比较少,仅仅需要改动SQL语句即可,但前提是你的MySQL版本必须在5.1以上。

下面是***种安装方式:

#下载***稳定版 wget http://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz tar xzvf sphinx-0.9.9.tar.gz cd sphinx-0.9.9 ./configure --prefix=/usr/local/sphinx/   --with-mysql  --enable-id64 make make install

Sphinx中文分词插件Coreseek安装

注:coreseek的安装教程来自这里,下面是详细过程:

安装升级autoconf

因为coreseek需要autoconf 2.64以上版本,因此需要升级autoconf,不然会报错。从http://download.chinaunix.net/download.php?id=29328&ResourceID=648下载autoconf-2.64.tar.bz2,安装方法如下:

tar -jxvf autoconf-2.64.tar.bz2 cd autoconf-2.64 ./configure make make install

下载coreseek

新版本的coreseek将词典和sphinx源程序放在了一个包中,因此只需要下载coreseek包就可以了。

wget http://www.wapm.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz

安装mmseg(coreseek所使用的词典)

tar xzvf coreseek-3.2.14.tar.gz cd mmseg-3.2.14 ./bootstrap    #输出的warning信息可以忽略,如果出现error则需要解决 ./configure --prefix=/usr/local/mmseg3 make && make install cd ..

安装coreseek(sphinx)

cd csft-3.2.14 sh buildconf.sh    #输出的warning信息可以忽略,如果出现error则需要解决 ./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 make && make install cd ..

测试mmseg分词和coreseek搜索

备注:需要预先设置好字符集为zh_CN.UTF-8,确保正确显示中文,我的系统字符集为en_US.UTF-8也是可以的。

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 网络搜索 此时正确的应该返回 words: 1. '网络': 1 documents, 1 hits 2. '搜索': 2 documents, 5 hits

生成 mmseg词库及配置文件

新版本的已经自动生成。

以上是"高性能SQL全文检索引擎Sphinx怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

引擎 检索 方式 搜索 全文 全文检索 高性能 索引 内容 性能 插件 数据 篇文章 速度 中文 查询 编译 万条 信息 版本 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 计算机网络技术物理实验 阿云服务器怎么创立的 网络安全感手抄报内容 大专网络技术学什么内容 收费岗亭微笑服务检测管理服务器 2019网络安全第一股 网络公司在网络安全方面的需求 软件开发可以享受研发费吗 冀中导报数据库 服务器视频播放 软件开发面试日语自我介绍 国资委网络安全大赛 医保网络安全管理制度范本 高铁列车内部网络技术 网络安全管理要写代码吗 三河市网络安全培训学校 什么软件能够打开数据库 我的世界服务器试用 普通服务器的内存是多少g 云免服务器一键搭建 json字符串保存到数据库 保护网络安全公益短视频 周村区网络安全服务中心 嵌入式软件开发设计文档 清远胜誉网络技术有限公司 江苏直销网络技术是什么 上海高品质服务器应用范围 财务软件数据库跟软件分开卖吗 vscode属于是服务器吗 拜登网络安全战略讲解
0