# # minimal sphinx configuration suited to piler # source base { type = mysql sql_host = MYSQL_HOSTNAME sql_db = MYSQL_DATABASE sql_user = MYSQL_USERNAME sql_pass = MYSQL_PASSWORD sql_attr_uint = size sql_attr_uint = sent sql_attr_uint = attachments } source delta : base { sql_query_pre = SET NAMES utf8 sql_query_pre = REPLACE INTO sph_counter SELECT 1, IFNULL(MAX(id), 0) FROM sph_index sql_query_post_index = DELETE FROM sph_index WHERE id<=(SELECT max_doc_id FROM sph_counter WHERE counter_id=1) sql_query = SELECT id, `from`, `to`, `fromdomain`, `todomain`, `subject`, `arrived`, `sent`, `body`, `size`, `direction`, `folder`, `attachments`, `attachment_types` FROM sph_index \ WHERE id <= (SELECT max_doc_id FROM sph_counter WHERE counter_id=1) sql_query_killlist = SELECT `id` FROM `metadata` WHERE `deleted`=1 } source main1 : base { sql_query_pre = SET NAMES utf8 sql_query = SELECT id, `from`, `to`, `fromdomain`, `todomain`, `subject`, `arrived`, `sent`, `body`, `size`, `direction`, `folder`, `attachments`, `attachment_types` FROM sph_index WHERE id=-1 } source main2 : base { sql_query_pre = SET NAMES utf8 sql_query = SELECT id, `from`, `to`, `fromdomain`, `todomain`, `subject`, `arrived`, `sent`, `body`, `size`, `direction`, `folder`, `attachments`, `attachment_types` FROM sph_index WHERE id=-1 } source main3 : base { sql_query_pre = SET NAMES utf8 sql_query = SELECT id, `from`, `to`, `fromdomain`, `todomain`, `subject`, `arrived`, `sent`, `body`, `size`, `direction`, `folder`, `attachments`, `attachment_types` FROM sph_index WHERE id=-1 } source main4 : base { sql_query_pre = SET NAMES utf8 sql_query = SELECT id, `from`, `to`, `fromdomain`, `todomain`, `subject`, `arrived`, `sent`, `body`, `size`, `direction`, `folder`, `attachments`, `attachment_types` FROM sph_index WHERE id=-1 } source dailydelta : base { sql_query_pre = SET NAMES utf8 sql_query = SELECT id, `from`, `to`, `fromdomain`, `todomain`, `subject`, `arrived`, `sent`, `body`, `size`, `direction`, `folder`, `attachments`, `attachment_types` FROM sph_index WHERE id=-1 } source tag : base { sql_query_pre = SET NAMES utf8 sql_query = SELECT `_id`, `id` AS iid, `uid`, `tag` FROM `tag` sql_attr_uint = iid sql_attr_uint = uid } source note : base { sql_query_pre = SET NAMES utf8 sql_query = SELECT `_id`, `id` AS iid, `uid`, `note` FROM `note` sql_attr_uint = iid sql_attr_uint = uid } source att : base { sql_query_pre = SET NAMES utf8 sql_query = select a.id as aid, m.id as mid, a.name AS aname, a.size, REPLACE(REPLACE(m.`from`, '@', 'X'), '.', 'X') as `from`, REPLACE(REPLACE((select group_concat(rcpt.`to` ORDER BY `to` ASC SEPARATOR ' ') from rcpt where rcpt.id=mid group by rcpt.id), '@', 'X'), '.', 'X') as `to` from attachment a, metadata m where m.piler_id=a.piler_id sql_attr_uint = size sql_attr_uint = mid } index main1 { source = main1 path = LOCALSTATEDIR/piler/sphinx/main1 docinfo = extern dict = keywords min_prefix_len = 5 min_word_len = 1 #ngram_len = 1 #ngram_chars = U+3000..U+2FA1F } index main2 { source = main2 path = LOCALSTATEDIR/piler/sphinx/main2 docinfo = extern dict = keywords min_prefix_len = 5 min_word_len = 1 #ngram_len = 1 #ngram_chars = U+3000..U+2FA1F } index main3 { source = main3 path = LOCALSTATEDIR/piler/sphinx/main3 docinfo = extern dict = keywords min_prefix_len = 5 min_word_len = 1 #ngram_len = 1 #ngram_chars = U+3000..U+2FA1F } index main4 { source = main4 path = LOCALSTATEDIR/piler/sphinx/main4 docinfo = extern dict = keywords min_prefix_len = 5 min_word_len = 1 #ngram_len = 1 #ngram_chars = U+3000..U+2FA1F } index dailydelta1 { source = dailydelta path = LOCALSTATEDIR/piler/sphinx/dailydelta1 docinfo = extern dict = keywords min_prefix_len = 5 min_word_len = 1 #ngram_len = 1 #ngram_chars = U+3000..U+2FA1F } index delta1 { source = delta path = LOCALSTATEDIR/piler/sphinx/delta1 docinfo = extern dict = keywords min_prefix_len = 5 min_word_len = 1 #ngram_len = 1 #ngram_chars = U+3000..U+2FA1F } index tag1 { source = tag path = LOCALSTATEDIR/piler/sphinx/tag1 docinfo = extern dict = keywords min_prefix_len = 5 min_word_len = 1 #ngram_len = 1 #ngram_chars = U+3000..U+2FA1F } index note1 { source = note path = LOCALSTATEDIR/piler/sphinx/note1 docinfo = extern dict = keywords min_prefix_len = 5 min_word_len = 1 #ngram_len = 1 #ngram_chars = U+3000..U+2FA1F } index att1 { source = att path = /var/piler/sphinx/att1 docinfo = extern dict = keywords min_prefix_len = 6 min_word_len = 1 ngram_len = 1 ngram_chars = U+1100..U+2FA1F } indexer { mem_limit = 256M } searchd { listen = 127.0.0.1:9312 listen = 127.0.0.1:9306:mysql41 log = /dev/null binlog_path = ##query_log = read_timeout = 5 max_children = 30 pid_file = /var/run/piler/searchd.pid seamless_rotate = 1 preopen_indexes = 1 unlink_old = 1 thread_stack = 512k workers = threads # for RT to work }