#
# minimal sphinx configuration sample (clean, ******, functional)
#source main
index main
source delta:main
index delta:main
indexer
searchd
此處的配置採用了增量索引的方式,完成之後還需要及時的更新索引、合併索引,使索引保持同步。增加如下的定時任務配置:
* * * * * /usr/local/coreseek/bin/indexer --config /usr/local/coreseek/etc/csft.conf main --rotate #更新主索引,每天。
*/10 * * * * /usr/local/coreseek/bin/indexer --config /usr/local/coreseek/etc/csft.conf delta --rotate #更新增量索引,每10分鐘。
30 * * * * /usr/local/coreseek/bin/indexer --config /usr/local/coreseek/etc/csft.conf --merge main delta --merge-dst-range deleted 0 0 --rotate #合併索引,每天凌晨3點
5、**引用api實現全文索引。sphinxapi.php為coreseek的api檔案,在安裝目錄下複製到程式引用目錄即可,當然也可以直接去編譯sphinx.so的擴充套件到php,一般情況下直接複製api檔案即可。
<?php
require_once
("./search/sphinxapi.php");
$cl=
newsphinxclient()
;$cl
->
setserver
('127.0.0.1'
,9312);
$cl-
>
setconnecttimeout(1
);$cl-
>
setarrayresult
(true);
//$cl->setweights ( array ( 100, 1 ) );
$cl-
>
setmatchmode
(sph_match_all);
$cl-
>
setrankingmode
(sph_rank_wordcount);
$cl-
>
setselect
("*");
$cl-
>
setlimits(0
,1000
,10000,0
);//最大顯示1000條
$cl-
>
setsortmode
("sph_sort_attr_desc");
//$cl->setsortmode ( sph_sort_extended, '@weight desc' );
//$cl->setsortmode ( sph_sort_expr, $sortexpr );
//$cl->setfieldweights(array('title'=>10,'content'=>1));if(
!isset
($_get
['s'])
||empty
($_get
['s'])
)$q1
=addslashes
(htmlspecialchars
(strip_tags
($_get
['s'])
));$q
=iconv
("gb2312"
,"utf-8"
,$q1);
//目前索引的時候coreseek 只支援utf-8編碼,中文資料庫當中gbk儲存的資料直接轉碼,然後用utf8搜尋
$res
=$cl
->
query($q
,"*");
//print_r($res['matches']);if(
isset
($res
['matches'])
&&count
($res
['matches'])
>0)
$idss
=substr
($ids,0
,-1)
;$condition
="nxuh in ("
.$idss
.")"
;//資料庫查詢條件,索引出來的條數直接用整數的ids來替代,大部分場景是不需要全部索引顯示的,比如電子商務系統當中的垂直搜尋引擎就是100頁而已。
$total
=count
($res
['matches'])
;}//echo $condition;
?>
6、目前coreseek只支援到utf8編碼,所以需要在中文索引後進行轉碼才可以檢索。
7、伺服器的安全配置需要自己實現。
Lamp環境下安裝及使用coreseek
開啟linux首先安裝如下依賴包 如果有的話只需要更新 yum y install m4 autoconf automake libtool yum y install gcc gcc c wget yum y install mysql devel執行如下命令 tar xzvf coreseek ...
Coreseek 帶中文分詞的Sphinx
sphinx並不支援中文分詞,也就不支援中文搜尋,coreseek sphinx mmseg 中文分詞演算法 2 解壓後有三個資料夾 csft 3.2.14 sphinx mmseg 3.2.14 中文分詞元件 testpack 介面開發包 2.安裝 1 先安裝mmseg,因為coreseek會用到...
PHP下實現埠復用 劫持
經常看到有朋友問埠復用,我花了乙個晚上寫了一點 本來想做成嗅嘆 的,無奈單執行緒的東西很侷限,而且始終只能得到頭行資料。我想要做成那樣的,對於高手來說,不是困難的事。如果你不懂如何配置,請參照我以前的文章 php sockets初步接觸 win下只要有guest許可權即可用,而且通過配合 windo...