久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

PHP擴展之針對搜索引擎的擴展(二)—— Sphinx簡介、安裝及使用

瀏覽:117日期:2022-09-15 18:09:53
一、簡介及安裝

該擴展提供了針對Sphinx搜索客戶端開發庫的綁定. Sphinx是一個獨立的搜索引擎系統,其目的是為其他相關程序和應用提供快速的、規??蓴U展的全文搜索功能. Sphinx有著良好的設計,可以很方便的與SQL數據庫結合,并使用腳本語言調用. Sphinx 以及 其客戶端庫 可以從?官方站點獲取,中文用戶也可以從Coreseek獲取支持中文的版本和服務。

安裝需求:需要PHP5.2.2及以上PHP版本。

安裝步驟請參考:Linux下編譯安裝Sphinx、中文分詞coreseek及PHP的sphinx擴展

安裝過程中,如果?./configure?不能正確找到 libsphinxclient 文件 (例如, 他被安裝在用戶自己定義的目錄中),使用?./configure --with-sphinx=$PREFIX來制定libsphinxclient的具體位置($PREFIX是libsphinxclient的安裝位置)。

編譯安裝:

從http://pecl.php.net/package/sphinx下載所需的sphinx擴展源碼安裝包,解壓到指定目錄,進入該目錄。

./configure --with-php-config=/usr/local/php/bin/php-config --with-sphinx=/usr/local/libsphinxclientmakesudo make install二、使用實例

Example #1 基本使用范例

<?php$s = new SphinxClient;$s->setServer('localhost', 6712);$s->setMatchMode(SPH_MATCH_ANY);$s->setMaxQueryTime(3);$result = $s->query('test');var_dump($result);?>

以上例程的輸出類似于:

array(10) { ['error']=> string(0) '' ['warning']=> string(0) '' ['status']=> int(0) ['fields']=> array(3) {[0]=> string(7) 'subject'[1]=> string(4) 'body'[2]=> string(6) 'author' } ['attrs']=> array(0) {} ['matches']=> array(1) {[3]=> array(2) { ['weight']=> int(1) ['attrs']=> array(0) {} } } ['total']=> int(1) ['total_found']=> int(1) ['time']=> float(0) ['words']=> array(1) { ['to']=> array(2) { ['docs']=>int(1) ['hits']=>int(1) } }}三、SphinxClient 類

SphinxClient 為 Sphinx 提供了面向對象的接口

SphinxClient::addQuery?— Add query to multi-query batchSphinxClient::buildExcerpts?— Build text snippetsSphinxClient::buildKeywords?— Extract keywords from querySphinxClient::close?— 關閉先前打開的持久連接SphinxClient::__construct?— Create a new SphinxClient objectSphinxClient::escapeString?— Escape special charactersSphinxClient::getLastError?— Get the last error messageSphinxClient::getLastWarning?— Get the last warningSphinxClient::open?— 建立到搜索服務端的持久連接SphinxClient::query?— 執行搜索查詢SphinxClient::resetFilters?— Clear all filtersSphinxClient::resetGroupBy?— Clear all group-by settingsSphinxClient::runQueries?— Run a batch of search queriesSphinxClient::setArrayResult?— 控制搜索結果集的返回格式SphinxClient::setConnectTimeout?— Set connection timeoutSphinxClient::setFieldWeights?— Set field weightsSphinxClient::setFilter?— 增加整數值過濾器SphinxClient::setFilterFloatRange?— Add new float range filterSphinxClient::setFilterRange?— Add new integer range filterSphinxClient::setGeoAnchor?— Set anchor point for a geosphere distance calculationsSphinxClient::setGroupBy?— Set grouping attributeSphinxClient::setGroupDistinct?— Set attribute name for per-group distinct values count calculationsSphinxClient::setIDRange?— Set a range of accepted document IDsSphinxClient::setIndexWeights?— Set per-index weightsSphinxClient::setLimits?— 設置返回結果集偏移量和數目SphinxClient::setMatchMode?— 設置全文查詢的匹配模式SphinxClient::setMaxQueryTime?— Set maximum query timeSphinxClient::setOverride?— Sets temporary per-document attribute value overridesSphinxClient::setRankingMode?— Set ranking modeSphinxClient::setRetries?— Set retry count and delaySphinxClient::setSelect?— Set select clauseSphinxClient::setServer?— 設置searchd的主機名和TCP端口SphinxClient::setSortMode?— Set matches sorting modeSphinxClient::status?— Queries searchd statusSphinxClient::updateAttributes?— Update document attributes
標簽: PHP
相關文章:
主站蜘蛛池模板: 宝丰县| 白城市| 盖州市| 库伦旗| 鹤山市| 楚雄市| 丰原市| 卢龙县| 松溪县| 绥中县| 舞钢市| 久治县| 长顺县| 荥阳市| 云林县| 龙口市| 星座| 南康市| 靖州| 洪泽县| 白河县| 大洼县| 平度市| 蓬溪县| 乌海市| 金华市| 惠来县| 花垣县| 若尔盖县| 磴口县| 土默特右旗| 靖江市| 淮安市| 浙江省| 新乡县| 司法| 夏河县| 岳阳县| 涟水县| 黑水县| 金门县|