coreseek

coreseek

該詞條缺乏基本信息欄詞條分類,補充相關內容幫助詞條更加完善!馬上編輯>>javascript

 

Coreseek 是一款中文全文檢索/搜索軟件,以GPLv2許可協議開源發佈,基於Sphinx研發並獨立發佈,專攻中文搜索和信息處理領域,適用於行業/垂直搜索、論壇/站內搜索、數據庫搜索、文檔/文獻檢索、信息檢索、數據挖掘等應用場景,能夠免費下載使用。html

 

 

1 什麼是CoreSeek

Coreseek 是一個可供企業使用的、基於Sphinx(可獨立於Sphinx原始版本運行)的中文全文檢索引擎,按照GPLv2協議發行。商業使用(例如, 嵌入到其餘程序中)須要得到商業受權。java

Coreseek是一個支持中文的全文搜索引擎,意圖爲其餘應用提供高速、低空間佔用、高相關度結果的中文全文搜索能力。CoreSeek能夠很是容易的與SQL數據庫和腳本語言集成。mysql

應用程序能夠經過三種不一樣的接口方式來與Sphinx搜索服務(searchd)通訊:a) 經過原生的搜索 API (SphinxAPI),b) 經過Sphinx自身支持的MySQL網絡協議 (使用命名爲SphinxQL的SQL精簡子集), 或者 c) 經過MySQL 服務端的存儲插件引擎(SphinxSE)。固然, 還能夠經過可使用 a)、b)、c) 的應用程序來構建webservice來爲其餘應用程序提供通訊linux

在Sphinx發行版本中提供的原生搜索API支持PHP、Python、Perl、Rudy和Java。搜索API很是輕量化,能夠在幾個小時以內移植到新的語言上。第三方API接口和插件提供了對Perl、C#、Haskell、Ruby-on-Rails支持,以及對其餘可能的語言或者框架的支持。web

從版本1.10-beta開始,Sphinx支持兩種不一樣的索引後端:「磁盤(disk)」索引後端和「實時索引(realtime)」(RT)索引後端。磁盤索引支持在線全文索引重建,可是僅支持非文本(屬性)數據的在線更新。RT實時索引在此基礎上,又增長了在線的全文索引更新。在此以前的版本僅支持磁盤索引。算法

使用命名爲數據源的接口,數據能夠被加載到磁盤索引。當前系統內置MySQL和PostgreSQL以及ODBC兼容(MS SQL、Oracle等) 數據庫數據源的支持,也支持從管道標準輸入讀取特定格式的XML數據。經過適當修改源代碼,用戶能夠自行增長新的數據源驅動(例如:對其餘類型的DBMS的原生支持)。在Coreseek發行的版本中,用戶還可使用Python腳本做爲數據源來獲取任何已知世界和未知世界的數據,這極大的擴展了數據源的來源。從1.10-beta版本開始的RT實時索引,只能使用MySQL接口經過SphinxQL來操做。sql

Sphinx 是SQL Phrase Index的縮寫,但不幸的和CMU的Sphinx項目重名。數據庫

CoreSeek的特性

索引和搜索性能優異;bootstrap

先進的索引和查詢工具 (靈活且功能豐富的文本分析器,查詢語言,以及多種不一樣的排序方式等等);

先進的結果集分析處理 (SELECT 可使用表達式, WHERE, ORDER BY, GROUP BY 等對全文搜索結果集進行過濾);

實踐證明可擴展性支持數十億文檔記錄,TB級別的數據,以及每秒數千次查詢;

易於集成SQL和XML數據源,並可以使用SphinxAPI、SphinxQL或者SphinxSE搜索接口

易於經過分佈式搜索進行擴展

高速的索引創建(在當代CPU上,峯值性能可達到10 ~ 15MB/秒);

高性能的搜索 (在1.2G文本,100萬條文檔上進行搜索,支持高達每秒150~250次查詢);

高擴展性 (最大的索引集羣超過30億條文檔,最繁忙時刻的查詢峯值達到天天5千萬次);

提供了優秀的相關度算法,基於短語類似度和統計(BM25)的複合Ranking方法;

支持分佈式搜索功能;

提供文檔片斷(摘要以及高亮)生成功能;

內建支持SphinxAPI和SphinxQL搜索箭口,也可做爲MySQL的存儲引擎提供搜索服務;

支持布爾、短語、詞語類似度等多種檢索模式;

文檔支持多個全文檢索字段(缺省配置下,最大不超過32個);

文檔支持多個額外的屬性信息(例如:分組信息,時間戳等);

支持查詢中止詞;

支持詞形學處理;

支持特殊詞彙處理;

支持單一字節編碼和UTF-8編碼;

內建支持英語、俄語、捷克語詞幹化處理; 對法語,西班牙語,葡萄牙語,意大利語,羅馬尼亞語,德國,荷蘭,瑞典,挪威,丹麥,芬蘭,匈牙利等語言的支持可經過第三方的 libstemmer 庫 創建);

原生的MySQL支持(同時支持MyISAM 、InnoDB、NDB、Archive等全部類型的數據表 );

原生的PostgreSQL 支持;

原生的ODBC兼容數據庫支持 (MS SQL, Oracle, 等) ;

如何獲得CoreSeek

Coreseek能夠從Coreseek官方網站下載。

目前,CoreSeek的發佈包包括以下軟件:

indexer: 用於建立全文索引;

search: 一個簡單的命令行(CLI) 的測試程序,用於測試全文索引;

searchd: 一個守護進程,其餘軟件(例如WEB程序)能夠經過這個守護進程進行全文檢索;

sphinxapi: 一系列searchd 的客戶端API 庫,用於流行的Web腳本開發語言(PHP, Python, Perl, Ruby, Java).

spelldump: 一個簡單的命令行工具,用於從 ispell 或者 MySpell(OpenOffice內置綁定) 格式的字典中提取詞條。當使用 wordforms時可用這些詞條對索引進行定製.

indextool: 工具程序,用來轉儲關於索引的多項調試信息。此工具是從版本Coreseek 3.1(Sphinx 0.9.9-rc2)開始加入的。

mmseg: 工具程序和庫,Coreseek用於提供中文分詞和詞典處理。

CoreSeek的安裝

coreseek安裝須要預裝的軟件:apt-get install make gcc g++ automake libtool mysql-client libmysqlclient15-dev libxml2-dev libexpat1-dev

##下載coreseek:coreseek 3.2.14

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

$ tar xzvf coreseek-3.2.14.tar.gz

$ cd coreseek-3.2.14

##安裝mmseg

$ cd mmseg-3.2.14

$ ./bootstrap

$ ./configure --prefix=/usr/local/mmseg3

$ make && make install

$ cd ..

##安裝coreseek

$ 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

$ make && make install

$ cd ..

##測試mmseg分詞,coreseek搜索(須要預先設置好字符集爲zh_CN.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

##創建索引

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf --all

##開啓searchd服務

/usr/local/coreseek/bin/searchd --config /usr/local/coreseek/etc/sphinx.conf

 

 

 

 

 

 

 

擴展閱讀:

3.

coreseek(sphinx)中文分詞以前綴索引,中綴索引和同義詞及

http://www.taoyutaole.com/thread-2152-1-1.html

 

 

相關文章
相關標籤/搜索