使用sphinx建立搜尋引擎 一 簡單索引

2021-07-08 12:58:26 字數 1395 閱讀 9074

朋友讓我寫一篇關於使用sphinx的教程,想了想我對sphinx的掌握程度,還不足以對他寫些什麼教程之類的。但,總要寫點什麼吧!那就從怎麼建索引開始好了。

從最簡單的索引開始建立好了(此處省去了sphinx的安裝過程)。

-- 建立索引表

create

table sphinx_searchs( id int(10) unsigned auto_increment, key

varchar(20) not

null, primary

key id) enginer=innodb;

# 全域性設定

source src1

# 繼承資料庫設定

source product : src1

# 索引檔案設定

index product

下面對以上的設定進行說明。

source product : src1資料來源設定

建立乙個資料來源,他的資訊繼承自src1,繼承和程式類的繼承一樣,子物件可以對父物件的值進行覆蓋。使用繼承可以省略我們編寫重複的設定資訊。

index product索引的設定:

/opt/sphinx/bin/indexer--

config

/opt/sphinx/config

.conf--

all/opt/sphinx/bin/searchd--

config

/opt/sphinx/config

.conf

進行搜尋

<?php

$sphinx = new sphinxclient;

$sphinx->setserver('127.0.0.1',9312);

$result = $sphinx->query('樹脂擺飾','product');

到此,無需太多的設定,暫時拋棄複雜,繁瑣的過濾功能,簡簡單單的實現了索引引擎核心功能——標題檢索。

除此,大家可以試試var_dump($result)以下方式檢索之間,結果有什麼區別?

$result = $sphinx->query('*樹脂擺飾','product');

$result = $sphinx->query('樹脂擺飾*','product');

$result = $sphinx->query('*樹脂擺飾*','product');

sphinx搜尋引擎優化及測試

2年前工作中的內容,已成過眼煙雲,分享一下,歡迎交流。1.之前的優化效果 之前對sphinx執行緒處理,網路io做了很多優化 netty epoll libevent 索引部分也做了優化,從目前測試結果來看,效能提公升已經到了瓶頸,尤其是全部搜尋,執行緒排程,網路 io優化對於這種查詢方式幫助很小。...

開源搜尋引擎Sphinx 中啟動多個搜尋程序的方法

要在同一機器上啟動多個sphinx搜尋程序searchd,必須為不同的程序指定不同的配置檔案 sphinx.conf 其中搜尋程序的埠號不能相同,即 listen 0.0.0.0 3312 中的預設埠3312 必須更改為乙個系統不在使用的埠。如果要指定不同的資料庫,必須更改 sql db dbnam...

搜尋引擎 索引

正排索引 文件編號,單詞編號,單詞的數量,單詞出現的位置。倒排索引 1,單詞詞典,儲存單詞以及統計資訊,單詞在記錄表中的便宜,可常駐記憶體,用雜湊表儲存。2,記錄表,單詞對應的文件集合,記錄單詞出現的數目 位置。文件採用差分變長編碼。其中文件可按編號公升序排列 可利用差分編碼 也可按出現次數排列,可...