配置sphinx.conf
source goods_src { type = mysql sql_host = localhost sql_user = root sql_pass = root sql_db = test sql_port = 3306 # optional, default is 3306 sql_query_pre = SET NAMES utf8 sql_query_pre = SET SESSION query_cache_type=OFF sql_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(goods_id) FROM goods sql_query = \ SELECT goods_id,goods_id as gid, UNIX_TIMESTAMP(created_at) AS created_at, title, content \ FROM goods WHERE goods_id<=( SELECT max_id FROM sph_counter WHERE id=1 ) sql_attr_uint = gid sql_attr_timestamp = created_at } source goods_delta_src : goods_src { sql_query_pre = SET NAMES utf8 sql_query_pre = SET SESSION query_cache_type=OFF sql_query_pre = sql_query = SELECT goods_id,goods_id as gid, UNIX_TIMESTAMP(created_at) AS created_at, title, content \ FROM goods WHERE goods_id > ( SELECT max_id FROM sph_counter WHERE id=1 ) sql_query_post = UPDATE sph_counter SET max_id=(SELECT MAX(goods_id) FROM goods) where id=1 sql_attr_uint = gid sql_attr_timestamp = created_at } index goods { source = goods_src path = E:/sphinx-data/data/goods # charset_table = 0..9, A..Z->a..z, _, a..z,U+410..U+42F->U+430..U+44F, U+430..U+44F ngram_len = 1 ngram_chars = U+3000..U+2FA1F } index goods_delta : goods { source = goods_delta_src path = E:/sphinx-data/data/goods_delta ngram_len = 1 ngram_chars = U+3000..U+2FA1F } ############################################################################# ## indexer settings ############################################################################# indexer { mem_limit = 128M } ############################################################################# ## searchd settings ############################################################################# searchd { listen = 9312 listen = 9306:mysql41 log = E:/sphinx-data/log/searchd.log query_log = E:/sphinx-data/log/query.log read_timeout = 5 client_timeout = 300 max_children = 30 persistent_connections_limit = 30 pid_file = E:/sphinx-data/log/searchd.pid preopen_indexes = 1 unlink_old = 1 max_packet_size = 8M max_filters = 256 max_filter_values = 4096 max_batch_queries = 32 workers = threads # for RT to work } ############################################################################# ## common settings ############################################################################# common { }
添加索引
indexer.exe goods goods_delta启动 searchd
searched
实时更新
定时任务
indexer.exe --rotate goods_delta