sphinx 初使用 及配置

2021-10-01 01:26:41 字數 3196 閱讀 1197

配置sphinx(重要)

步驟1:建立youhua3資料庫

步驟2:將etc/csft_mysql.conf複製並更名為sphinx.conf

步驟3:複製下面**替換shpinx.conf中的內容(紅色-可能需要修改,綠色-存在對應關係)

source music

#索引的定義(索引檔案存放的位置,索引檔案的名字)

#每個index對應乙個資料來源,用來定義這個資料來源生成的索引檔案的資訊

index music

#全域性index定義

indexer

#searchd服務定義

searchd

index music 建立music索引(和source一一對應,表示該索引通過哪些資料建立)

source music1 建立music資料來源

建立索引

建立指定索引語法:indexer.exe -c 配置檔案 索引名

建立全部索引語法:indexer.exe -c 配置檔案 --all

使用php api操作 sphinx

建立sphinx服務

建立服務:bin\searchd.exe -c 配置檔案 --install

刪除服務:sc delete 服務名

啟動服務:net start 服務名

關閉服務:net stop 服務名

2、初體驗(php操作sphinx)

複製sphinx\api目錄中的介面檔案sphinxapi.php放到站點目錄

在站點目錄建立test.php引入該檔案

<?php 

#步驟1:引入sphinx介面檔案

require './sphinxapi.php';

#步驟2:例項化物件

$sp = new sphinxclient;

#步驟3:設定服務

$sp->setserver('localhost', 9312);

#步驟4:

#步驟5:設定查詢條數

$sp->setlimits(0, 5000);

#步驟6:傳送查詢

$rs = $sp->query('冬天', 'music');

echo '';

print_r($rs);

匹配模式

語法:$sp->setmatchmode(常量)

sph_match_all            匹配所有詞(預設)

sph_match_any 匹配乙個詞

sph_match_phrase 匹配整乙個詞

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

sph_match_extended 查詢看做乙個sphinx的表示式

將查詢看作乙個布林表示式(sph_match_boolean)

說明:就是通過運算查詢

舉例:$sp->query('冬天 !寒冷', 'music')

匹配冬天關鍵字,但是不能有寒冷

$sp->query('冬天 & 寒冷', 'music')

匹配冬天 並且有 寒冷(都要有)

$sp->query('冬天 | 寒冷', 'music')

匹配冬天或寒冷(只要有乙個)

查詢看做乙個sphinx的表示式(sph_match_extended)

說明:查詢指定欄位的內容

舉例:@title 內容 @content 內容 @author 內容

練習:內容(content)字段=php

//例子

<?php 

/*步驟1:通過sphinx去mysql中獲取並建立索引檔案

步驟2:通過php去sphinx中查詢資料並返回id

步驟3:根據id去mysql中查詢具體資料

sph_match_all 匹配所有詞(預設)

sph_match_any 匹配乙個詞

sph_match_phrase 匹配整乙個詞

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

sph_match_extended 查詢看做乙個sphinx的表示式

*/require './api/sphinxapi.php';

$sp=new sphinxclient;

$sp->setserver("localhost",9312);

$sp->setmatchmode(sph_match_all);

//設定查詢的條數

$sp->setlimits(0,10);

//傳送查詢

$rs = $sp->query('我喜歡php', 'music');

$ids=array_keys($rs['matches']);

$id=implode(',',$ids);

$pdo=new pdo("mysql:dbname=youhua3",'root','root');

$rt=$pdo->query("select * from music where id in ()");

$res=$rt->fetchall(pdo::fetch_assoc);

foreach($res as $k)

/***高亮*/

sphinx安裝及使用

yum install mariadb devel postgresql devel unixodbc devel libmysqlclient18 libmysqlclient dev libmysqlcppconn7 libmysqlcppconn dev minimal sphinx conf...

sphinx安裝,配置,使用

sphinx的使用兩種方式 第一種 使用sphinx的api來操作sphinx 常用 sphinx可以使用api類,也可以將api編譯到php中做為擴充套件 第二種 使用mysql的sphinx的儲存引擎 sphinx 這是英文的全文檢索引擎 coreseek 這是支援中文詞庫的全文檢索引擎 區別 ...

sphinx配置文件

sphinx的配置 source 源名稱1 index 索引名稱1 source 源名稱2 index 索引名稱2 indexer searchd type 資料庫型別 mysql 或sql sql user 資料庫使用者名稱 sql pass 資料庫密碼 sql db 資料庫名稱 sql port...