標籤:
轉載:http://zhan.renren.com/longmensoft?gid=3602888498043096197&checked=true
把我的運行環境簡單說一下:windows XP,裝了php/mysql
下面進入正題:
1.到官網下載coreseek
2 安裝執行環境,一般系統都會有安裝,官網有說明
3.將下載的coreseek壓縮包解壓到你覺得合適的位置,把主資料夾的名字改為你覺得合適的名字。
4.MYSQL測試:
在MYSQL的test資料庫中,匯入coreseek檔案夾下的sql檔案: var\test\documents.sql
這樣就產生了測試用的資料表 test.documents
下面這一步很關鍵,我就在這一步上被卡了好長時間:
開啟etc下的csft_mysql.conf,填入登陸mysql需要的基本資料。
maybe 新手對配置搞不懂,請參看http://www.borghan.com/archives/using-coreseek-with-PHP-with-multiple-indexes.html
5.建立索引
通過修改csft_mysql.conf的配置或者建立新的conf檔案,就可以指定要建立索引的資料表以及建立索引的方式。如何配置請參看官方手冊,或者這篇文章:
http://www.linuxidc.com/Linux/2013-05/83857.htm
這裡只是對coreseek預設的測試資料表 test.documents,以其預設的方式建立索引。
建立索引需要進入cmd,用dos模式工作:
在dos下進入coreseek的主資料夾下,執行如下命令:
bin\indexer -c etc\csft_mysql.conf --all
資料表 test.document的索引就建立好了
6.查詢
還是在dos模式下,鍵入
bin\search -c etc\csft_mysql.conf xxxx
xxxx就是你要查詢的內容,dos下最好只查詢英文內容,因為dos下由於編碼原因,不一定能查詢出來。
dos下的查詢主要是起到測試的作用,真正的查詢應該還是要通過調用API
7.啟動搜尋服務
還是在dos模式下,鍵入
bin\searchd -c etc\csft_mysql.conf
這樣coreseek就進入監聽查詢命令的狀態
注意,進入監聽後這個dos視窗不能關閉,不然監聽就結束了。
8.php調用coreseek
大概分三個步驟:
(1)調入coreseek目錄下的api//sphinxapi.php
(2)對查詢命令SphinxClient()進行配置,配置的詳細說明見官方手冊或參看下文:
http://www.linuxidc.com/Linux/2013-05/83858.htm
(3)查詢
程式如下:
<?
//第一步:
require_once "E:/coreseek/api/sphinxapi.php";// 我的coreseek安裝在E:/coreseek目錄下,你需要根據你的coreseek的位置進行調整
//第二步:
$sphinx = new SphinxClient();
$sphinx->SetServer ( ‘localhost‘, 9312 );//coreseek的主機名稱和連接埠
$sphinx->SetArrayResult ( true );//設定返回結果集為php數組格式
$sphinx->SetLimits(0, 20, 1000);//匹配結果的位移量,參數的意義依次為:起始位置,返回結果條數,最大匹配條數
$sphinx->SetMaxQueryTime(10);//最大搜尋時間
//第三步:
$result = $sphinx->query (‘xxxx‘, "mysql");//xxxx是查詢的內容,mysql是測試的設定檔中系統預設的類名
//結果:
print_r($sphinx);//顯示所有SphinxClient()類的內容,如果發生查詢錯誤,也可以在這裡找到。
print_r($result);//顯示查詢結果資訊,
/*total是匹配到的資料總數量
matches是匹配的資料,包含id,attrs這些資訊
words是搜尋索引鍵的分詞
並不會返回像mysql那樣的資料數組
*/
?>
看完之後可參看http://www.borghan.com/archives/using-coreseek-with-PHP-with-multiple-indexes.html Coreseek多表索引搜尋
windows下的coreseek安裝及PHP調用入門