温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-12-07 10:05:44 来源:亿速云 阅读:182 作者:小新 栏目:互联网科技

这篇文章主要为大家展示了“高性能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 搜索引擎架构图

高性能SQL全文检索引擎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怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI