sphinx配置檔案詳解

2021-06-21 11:41:02 字數 3534 閱讀 7487

sphinx的配置:

source 源名稱1

index 索引名稱1

source 源名稱2

index 索引名稱2

indexer

searchd

type=資料庫型別(mysql 或sql);

sql_user=                     資料庫使用者名稱

sql_pass=                     資料庫密碼

sql_db=                 資料庫名稱

sql_port=               資料庫埠

sql_query_pre=      執行sql前設定的編碼 (set names utf8)

sql_query=            全文檢索要顯示的內容,據官方說法:盡可能不要使用where或groupby ,將其交給sphinx效率會更高;select 出來的字段必須包含至少乙個唯一主鍵,以及全文檢索的字段 sphinx 會對select 中的 欄位1 ,欄位2 建立sphinx自己的索引 及 在查詢的字段中查詢關鍵字

sql_query_info

=select

*from

inventory

where id

=$id  

來查詢匹配記錄

在查詢中,

$id

被替換為

searchd

返回的每個主鍵

(除錯是使用

建議注釋此項)

strip_html= 0/1      是否去掉html標籤

sql_attr_uint=         無符號整數屬性,可以設定多個,設定資料庫字段,設定哪個能顯示出哪個字段資料的整形來.

source=                 資料來源名稱

path =                 索引記錄存放目錄,注:d:/sphinx/data/cg 這個的意思是 在data目錄下建立乙個名為cg的檔案

min_word_len=      索引的詞的最小長度 設為1 既可以搜尋單個位元組搜尋,越小 索引越精確,但建立索引花費的時間越長

charset_type=        utf-8/gbk 設定資料編碼

charset_table=        字元表和大小寫轉換規則 .頻繁應用於sphinx的分詞過程

min_prefix_len =    最小字首(0)

min_infix_len =      最小中綴(1)

ngram_len =        對於非字母型資料的長度切割(預設已字元和數字切割,設定1為按沒個字母切割)

port=                     sphinx的埠(9312 與 searchd.exe監聽結果一致)

log=                      服務程序日誌存放路徑,一旦sphinx出現異常,基本上可以從這裡查詢有效資訊

query_log=             客戶端查詢日誌 尤為有用 它將在執行時顯示每次搜尋並顯示結果

read_timeout=        請求超時(5)

max_children=        同時可執行的最大searchd 程序數(30)

pid_file=                程序id檔案

max_matches=              查詢結果的最大返回數

seamless_rotate=    是否支援無縫切換,做增量索引時通常需要(0/1)

# 在啟動執行時是否提前載入所有索引檔案

preopen_indexes = 0

# 是否釋放舊的索引檔案

unlink_old = 1

# mva跟新池大小(預設為1m)

mva_updates_pool = 1m

# 最大允許的網路包大小(預設8m)

max_packet_size = 8m

# 每個查詢最大允許的過濾器數量(預設256)

max_filters = 256

#每個過濾器最大允許的值的個數(預設4096)

max_filter_values = 4096

# 每個組的最大查詢數(預設為32)

max_batch_queries = 32

至此 spninx.conf 配置檔案結束;注意:如果有換行 必須用反斜槓 鏈結

#定義乙個資料來源

source search_main

#定義乙個增量的源

source search_main_delta

:search_main

#定義乙個index_search_main索引

index index_search_main

#定義增量索引

index index_search_main_delta

:index_search_main

#定義indexer配置選項

indexer

#定義searchd守護程序的相關選項

searchd

1. 生成全部索引

/usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf –all

若此時searchd守護程序已經啟動,那麼需要加上—rotate引數:

/usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf --all --rotate

2. 啟動searchd守護程序

/usr/local/sphinx/bin/searchd --config /usr/local/sphinx/etc/sphinx.conf

3. 生成主索引

寫成shell指令碼,新增到crontab任務,設定成每天凌晨1點的時候重建主索引

/usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf --rotate index_search_main

4. 生成增量索引

寫成shell指令碼,新增到crontab任務,設定成每10分鐘執行一次

/usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf --rotate index_search_main_delta

5. 增量索引和主索引的合併

寫成shell指令碼,新增到計畫任務,每15分鐘跑一次

/usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf --merge index_search_main index_search_main_delta --rotate

6. 使用search命令在命令列對索引進行檢索

/usr/local/sphinx/bin/search --config /usr/local/sphinx/etc/sphinx.conf

配置檔案詳解

config目錄下有2個配置檔案 es的配置檔案 elasticsearch.yml 和日誌配置檔案 logging.yml cluster.name elasticsearch 配置es的集群名稱,預設是elasticsearch,es會自動發現在同一網段下的es,如果在同一網段下有多個集群,就可...

OpenSSH 配置檔案詳解

第1章 openssh 安全網路通訊 本章要點 關於openssh openssh客戶端 起步 使用ssh和scp openssh伺服器sshd 起步 啟動sshd守護程序 授權金鑰 自動化登入 故障診斷 隧道技術與埠 openssh是一套安全網路連線工具,用來取代telnet rcp rsh rs...

yum配置檔案詳解

yum的配置檔案 yum的一切配置資訊都儲存在乙個叫yum.conf的配置檔案中,通常位於 etc目 錄下,這是整個yum系統的重中之重,所以有必要詳細介紹。下面是乙個從網上找來的yum.con檔案,讓我們以此為例,進行說明。引用 第一部分 配置repository伺服器了,這是最令人激動的,有了好...