sphinx在php檔案裡使用及返回資料的格式

2021-06-13 16:07:38 字數 2555 閱讀 3715

//引入sphinx搜尋類檔案

require ( "sphinxapi.php" );

//例項化sphinx搜尋類

$cl = new sphinxclient ();

//連線伺服器,埠

$cl->setserver ( '192.168.1.250', 9312);

//超時時間3秒,3秒連不上放棄

$cl->setconnecttimeout ( 3 );

//是以陣列形式返回結果。

$cl->setarrayresult ( true );

//設定全文查詢的匹配模式

$cl->setmatchmode ( sph_match_any);

引數如下:

sph_match_all 匹配所有查詢詞(預設模式).

sph_match_any 匹配查詢詞中的任意乙個.

sph_match_phrase 將整個查詢看作乙個片語,要求按順序完整匹配.

sph_match_boolean 將查詢看作乙個布林表示式.

sph_match_extended 將查詢看作乙個sphinx內部查詢語言的表示式.

sph_match_fullscan 使用完全掃瞄,忽略查詢詞彙.

sph_match_extended2 類似 sph_match_extended ,並支援評分和權重.

$res = $cl->query ( '姬虞封於唐', "*" );

print_r($cl);

sphinxclient object( [_host] => 192.168.1.250

[_port] => 9312

[_offset] => 0

[_limit] => 20

[_mode] => 1

[_weights] => array ( )

[_sort] => 0

[_sortby] =>

[_min_id] => 0

[_max_id] => 0

[_filters] => array ( )

[_groupby] =>

[_groupfunc] => 0

[_groupsort] => @group desc

[_groupdistinct] =>

[_maxmatches] => 1000

[_cutoff] => 0

[_retrycount] => 0

[_retrydelay] => 0

[_anchor] => array ( )

[_indexweights] => array ( )

[_ranker] => 0

[_maxquerytime] => 0

[_fieldweights] => array ( )

[_overrides] => array ( )

[_select] => *

[_error] => connection to 192.168.1.250:9312 failed (errno=10060, msg=由於連線方在一段時間後沒有正確答覆或連線的主機沒有反應,連線嘗試失敗。)

//1:防火牆,2:埠錯,3:沒開啟

[_warning] =>

[_connerror] => 1

[_reqs] => array ( )

[_mbenc] =>

[_arrayresult] => 1

[_timeout] => 3

[_path] =>

[_socket] => )

連線成功後會列印

print_r($res);

array

( [error] =>

[warning] =>

[status] => 0

[fields] => array

([0] => data

)[attrs] => array

([adddate] => 2

)[matches] => array

([0] => array

([id] => 1897 //返回的id

[weight] => 1 //權重

[attrs] => array

([adddate] => 1315535324 //時間))

如上。。。

[1] => array

([id] => 1910

[weight] => 1

[attrs] => array

([adddate] => 1315534874))

........

)[total] => 23

[total_found] => 23

[time] => 0.014

[words] => array

([故宮] => array

([docs] => 23

[hits] => 23))

)

在php中使用Sphinx

要使用php連線sphinx進行全文搜尋,有兩種方式 將sphinx作為php擴充套件安裝,這種方式比較麻煩,此處不介紹 在sphinx原始碼目錄下的有個api sphinxapi.php,將此檔案reqire到你的php中,即可呼叫api方法進行全文搜尋 require sphinxapi.php...

在ubuntu使用sphinx編寫html文件

sphinx簡介 sphinx 1 是乙個工具,它能夠輕易地建立智慧型和優雅的文件,出自georg brandl之手,在bsd許可證下授權。它能夠把一組 restructuredtext 格式的檔案轉換成各種輸出格式,而且自動地生成交叉引用,生成目錄等。也就是說,如果有乙個目錄,裡面包含一堆rest...

Sphinx在windows上的安裝使用

sphinx是乙個基於sql的全文檢索引擎,可以結合mysql,postgresql做全文搜尋,它可以提供比資料庫本身更專業的搜尋功能,使得應用程式更容易實現專業化的全文檢索。sphinx特別為一些指令碼語言設計搜尋api介面。特性 高速索引 高速搜尋 高可用性 提供良好的相關性排名 支援分布式搜尋...