自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Sphinx:高性能SQL全文檢索引擎

開源 系統(tǒng)
Sphinx是一款基于SQL的高性能全文檢索引擎,利用Sphinx,我們可以完成比數(shù)據(jù)庫本身更專業(yè)的搜索功能,而且可以有很多針對性的性能優(yōu)化。Sphinx作為一款高性能的SQL全文檢索引擎,值得開發(fā)者繼續(xù)關(guān)注,尤其是它多語言的API支持,使開發(fā)者可以更方便地應(yīng)用。

Sphinx是一款基于SQL的高性能全文檢索引擎,Sphinx的性能在眾多全文檢索引擎中也是數(shù)一數(shù)二的,利用Sphinx,我們可以完成比數(shù)據(jù)庫本身更專業(yè)的搜索功能,而且可以有很多針對性的性能優(yōu)化。

Sphinx的特點(diǎn)

  • 快速創(chuàng)建索引:3分鐘左右即可創(chuàng)建近100萬條記錄的索引,并且采用了增量索引的方式,重建索引非常迅速。
  • 閃電般的檢索速度:盡管是1千萬條的大數(shù)據(jù)量,查詢數(shù)據(jù)的速度也在毫秒級以上,2-4G的文本量中平均查詢速度不到0.1秒。
  • 為很多腳本語言設(shè)計(jì)了檢索API,如PHP,Python,Perl,Ruby等,因此你可以在大部分編程應(yīng)用中很方便地調(diào)用Sphinx的相關(guān)接口。
  • 為MySQL設(shè)計(jì)了一個存儲引擎插件,因此如果你在MySQL上使用Sphinx,那簡直就方便到家了。
  • 支持分布式搜索,可以橫向擴(kuò)展系統(tǒng)性能。

PHP+MySQL+Sphinx 搜索引擎架構(gòu)圖

在MySQL中安裝Sphinx

Sphinx在MySQL上安裝有兩種方式:

  • ***種方式是采用API調(diào)用,我們可以使用PHP,Python,Perl,Ruby等編程語言的API函數(shù)進(jìn)行查詢,這種方式不必重新編譯MySQL,模塊間改動比較少,相對靈活。
  • 第二種需要重新編譯MySQL,將Sphinx以插件的方式編譯到MySQL中去,這種方式對程序改動比較少,僅僅需要改動SQL語句即可,但前提是你的MySQL版本必須在5.1以上。

下面是***種安裝方式:

  1. #下載***穩(wěn)定版 
  2. wget http://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz 
  3. tar xzvf sphinx-0.9.9.tar.gz 
  4. cd sphinx-0.9.9 
  5. ./configure --prefix=/usr/local/sphinx/   --with-mysql  --enable-id64 
  6. make 
  7. make install 

Sphinx中文分詞插件Coreseek安裝

注:coreseek的安裝教程來自這里,下面是詳細(xì)過程:

安裝升級autoconf

因?yàn)閏oreseek需要autoconf 2.64以上版本,因此需要升級autoconf,不然會報(bào)錯。從http://download.chinaunix.net/download.php?id=29328&ResourceID=648下載autoconf-2.64.tar.bz2,安裝方法如下:

  1. tar -jxvf autoconf-2.64.tar.bz2 
  2. cd autoconf-2.64 
  3. ./configure 
  4. make 
  5. make install 

下載coreseek

新版本的coreseek將詞典和sphinx源程序放在了一個包中,因此只需要下載coreseek包就可以了。

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

安裝mmseg(coreseek所使用的詞典)

  1. tar xzvf coreseek-3.2.14.tar.gz 
  2. cd mmseg-3.2.14 
  3. ./bootstrap    #輸出的warning信息可以忽略,如果出現(xiàn)error則需要解決 
  4. ./configure --prefix=/usr/local/mmseg3 
  5. make && make install 
  6. cd .. 

安裝coreseek(sphinx)

  1. cd csft-3.2.14 
  2. sh buildconf.sh    #輸出的warning信息可以忽略,如果出現(xiàn)error則需要解決 
  3. ./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 
  4. make && make install 
  5. cd .. 

測試mmseg分詞和coreseek搜索

備注:需要預(yù)先設(shè)置好字符集為zh_CN.UTF-8,確保正確顯示中文,我的系統(tǒng)字符集為en_US.UTF-8也是可以的。

  1. cd testpack 
  2. cat var/test/test.xml  #此時(shí)應(yīng)該正確顯示中文 
  3. /usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc var/test/test.xml 
  4. /usr/local/coreseek/bin/indexer -c etc/csft.conf --all 
  5. /usr/local/coreseek/bin/search -c etc/csft.conf 網(wǎng)絡(luò)搜索 
  6. 此時(shí)正確的應(yīng)該返回 
  7. words: 
  8. 1. '網(wǎng)絡(luò)': 1 documents, 1 hits 
  9. 2. '搜索': 2 documents, 5 hits 

生成 mmseg詞庫及配置文件

新版本的已經(jīng)自動生成。

總結(jié)

Sphinx作為一款高性能的SQL全文檢索引擎,值得開發(fā)者繼續(xù)關(guān)注,尤其是它多語言的API支持,使開發(fā)者可以更方便地應(yīng)用。

責(zé)任編輯:火鳳凰 來源: 碼農(nóng)網(wǎng)
相關(guān)推薦

2009-07-06 18:18:41

SQL Server全

2010-10-20 10:55:54

SQL Server全

2010-11-10 14:18:15

SQL SERVER全

2011-03-04 10:47:06

Nagios監(jiān)控Sphinx

2009-08-14 11:24:10

MySQL全文檢索MySQL Like索

2011-04-02 13:37:05

SQL Server 索引視圖

2010-07-21 09:58:21

SQL Server全

2010-03-12 08:33:55

Greenplum數(shù)據(jù)引擎數(shù)據(jù)倉庫

2010-07-16 15:42:32

SQL Server

2010-07-09 10:36:22

SQL Server

2023-09-27 09:11:13

操作系統(tǒng)HTTP

2010-09-27 11:42:44

SQL全文索引

2010-11-10 14:06:44

SQL Server全

2011-04-18 11:00:12

SQL Server全文索引

2018-12-28 09:48:11

SolrElasticSear搜索

2017-08-17 16:42:38

Elastic 全文搜索服務(wù)器

2010-11-10 14:26:44

Sql Server全

2011-08-30 13:54:29

SQL Server全文索引
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號