#定義數(shù)據(jù)庫(kù)類(lèi)型
type = mysql
#定義數(shù)據(jù)庫(kù)的IP或者計(jì)算機(jī)名
sql_host = localhost
#定義連接數(shù)據(jù)庫(kù)的帳號(hào)
sql_user = root
#定義鏈接數(shù)據(jù)庫(kù)的密碼
sql_pass = test123
#定義數(shù)據(jù)庫(kù)名稱(chēng)
sql_db = test
#定義連接數(shù)據(jù)庫(kù)后取數(shù)據(jù)之前執(zhí)行的SQL語(yǔ)句
sql_query_pre = SET NAMES utf8
sql_query_pre = SET SESSION query_cache_type=OFF
#創(chuàng)建一個(gè)sph_counter用于增量索引
sql_query_pre = CREATE TABLE IF NOT EXISTS sph_counter
( counter_id INTEGER PRIMARY KEY NOT NULL,max_doc_id INTEGER NOT NULL)
#取數(shù)據(jù)之前將表的最大id記錄到sph_counter表中
sql_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(searchid) FROM v9_search
#定義取數(shù)據(jù)的SQL,第一列ID列必須為唯一的正整數(shù)值
sql_query = SELECT searchid,typeid,id,adddate,data FROM v9_search where
searchid<( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 )
and searchid>=$start AND searchid<=$end
# sql_attr_uint和sql_attr_timestamp用于定義用于api過(guò)濾或者排序,寫(xiě)多行制定多列
sql_attr_uint = typeid
sql_attr_uint = id
sql_attr_timestamp = adddate
#分區(qū)查詢(xún)?cè)O(shè)置
sql_query_range = SELECT MIN(searchid),MAX(searchid) FROM v9_search
#分區(qū)查詢(xún)的步長(zhǎng)
sql_range_step = 1000
#設(shè)置分區(qū)查詢(xún)的時(shí)間間隔
sql_ranged_throttle = 0
#用于CLI的調(diào)試
sql_query_info = SELECT * FROM v9_search WHERE searchid=$id
}
#定義一個(gè)增量的源
source search_main_delta : search_main
{
sql_query_pre = set names utf8
#增量源只查詢(xún)上次主索引生成后新增加的數(shù)據(jù)
#如果新增加的searchid比主索引建立時(shí)的searchid還小那么會(huì)漏掉
sql_query = SELECT searchid,typeid,id,adddate,data FROM v9_search where
searchid>( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 )
and searchid>=$start AND searchid<=$end
sql_query_range = SELECT MIN(searchid),MAX(searchid) FROM v9_search where
searchid>( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 )
}
#定義一個(gè)index_search_main索引
index index_search_main
{
#設(shè)置索引的源
source = search_main
#設(shè)置生成的索引存放路徑
path = /usr/local/coreseek/var/data/index_search_main
#定義文檔信息的存儲(chǔ)模式,extern表示文檔信息和文檔id分開(kāi)存儲(chǔ)
docinfo = extern
#設(shè)置已緩存數(shù)據(jù)的內(nèi)存鎖定,為0表示不鎖定
mlock = 0
#設(shè)置詞形處理器列表,設(shè)置為none表示不使用任何詞形處理器
morphology = none
#定義最小索引詞的長(zhǎng)度
min_word_len = 1
#設(shè)置字符集編碼類(lèi)型,我這里采用的utf8編碼和數(shù)據(jù)庫(kù)的一致
charset_type = zh_cn.utf-8
#指定分詞讀取詞典文件的位置
charset_dictpath = /usr/local/mmseg3/etc
#不被搜索的詞文件里表。
stopwords = /usr/local/coreseek/var/data/stopwords.txt
#定義是否從輸入全文數(shù)據(jù)中取出HTML標(biāo)記
html_strip = 0
}
#定義增量索引
index index_search_main_delta : index_search_main
{
source = search_main_delta
path = /usr/local/coreseek/var/data/index_search_main_delta
}
#定義indexer配置選項(xiàng)
indexer
{
#定義生成索引過(guò)程使用索引的限制
mem_limit = 512M
}
#定義searchd守護(hù)進(jìn)程的相關(guān)選項(xiàng)
searchd
{
#定義監(jiān)聽(tīng)的IP和端口
#listen = 127.0.0.1
#listen = 172.16.88.100:3312
listen = 3312
listen = /var/run/searchd.sock
#定義log的位置
log = /usr/local/coreseek/var/log/searchd.log
#定義查詢(xún)log的位置
query_log = /usr/local/coreseek/var/log/query.log
#定義網(wǎng)絡(luò)客戶(hù)端請(qǐng)求的讀超時(shí)時(shí)間
read_timeout = 5
#定義子進(jìn)程的最大數(shù)量
max_children = 300
#設(shè)置searchd進(jìn)程pid文件名
pid_file = /usr/local/coreseek/var/log/searchd.pid
#定義守護(hù)進(jìn)程在內(nèi)存中為每個(gè)索引所保持并返回給客戶(hù)端的匹配數(shù)目的最大值
max_matches = 100000
#啟用無(wú)縫seamless輪轉(zhuǎn),防止searchd輪轉(zhuǎn)在需要預(yù)取大量數(shù)據(jù)的索引時(shí)停止響應(yīng)
#也就是說(shuō)在任何時(shí)刻查詢(xún)都可用,或者使用舊索引,或者使用新索引
seamless_rotate = 1
#配置在啟動(dòng)時(shí)強(qiáng)制重新打開(kāi)所有索引文件
preopen_indexes = 1
#設(shè)置索引輪轉(zhuǎn)成功以后刪除以.old為擴(kuò)展名的索引拷貝
unlink_old = 1
# MVA更新池大小,這個(gè)參數(shù)不太明白
mva_updates_pool = 1M
#最大允許的包大小
max_packet_size = 32M
#最大允許的過(guò)濾器數(shù)
max_filters = 256
#每個(gè)過(guò)濾器最大允許的值的個(gè)數(shù)
max_filter_values = 4096