diff --git a/install/manticore.conf b/install/manticore.conf new file mode 100644 index 000000000..f888d3d7f --- /dev/null +++ b/install/manticore.conf @@ -0,0 +1,159 @@ +# +# Manticore Search configuration for TorrentPier +# Migration from Sphinx +# + +source torrentpier +{ + type = mysql + sql_host = localhost + sql_user = user + sql_pass = pass + sql_db = dbase + sql_query_pre = SET NAMES utf8 + sql_query_pre = SET CHARACTER_SET_RESULTS=utf8 + sql_query_pre = SET CHARACTER_SET_CLIENT=utf8 +} + +source topics: torrentpier +{ + sql_query = \ + SELECT topic_id, forum_id, topic_title \ + FROM bb_topics \ + WHERE topic_id BETWEEN $start AND $end + + sql_query_range = SELECT MIN(topic_id), MAX(topic_id) FROM bb_topics + sql_range_step = 100000 + + sql_attr_uint = forum_id + sql_ranged_throttle = 50 + sql_query_info = SELECT * FROM bb_topics WHERE topic_id = $id +} + +source posts: torrentpier +{ + sql_query = \ + SELECT pt.post_id, pt.post_text, t.topic_title, t.topic_id, t.forum_id \ + FROM bb_posts_text pt \ + LEFT JOIN bb_topics t on pt.post_id = t.topic_first_post_id \ + WHERE pt.post_id BETWEEN $start AND $end + + sql_query_range = SELECT MIN(post_id), MAX(post_id) FROM bb_posts_text + sql_range_step = 100000 + + sql_attr_uint = topic_id + sql_attr_uint = forum_id + sql_ranged_throttle = 50 + sql_query_info = SELECT * FROM bb_posts_text WHERE post_id = $id +} + +source users: torrentpier +{ + sql_query = \ + SELECT user_id, username \ + FROM bb_users \ + WHERE user_id BETWEEN $start AND $end + + sql_query_range = SELECT 1, MAX(user_id) FROM bb_users + sql_range_step = 1000 + sql_query_info = SELECT * FROM bb_users WHERE user_id = $id +} + +index topics +{ + source = topics + path = /var/lib/manticore/data/topics + + # Text processing settings + morphology = stem_enru + charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42C->U+430..U+44C, U+42E..U+42F->U+44E..U+44F, U+430..U+44C, U+44E..U+44F, U+0401->U+0435, U+0451->U+0435, U+042D->U+0435, U+044D->U+0435 + min_word_len = 1 + min_stemming_len = 4 + + # Search features + min_prefix_len = 0 + min_infix_len = 0 + enable_star = 1 + + # HTML and phrase processing + html_strip = 1 + phrase_boundary = :, -, ., $ + phrase_boundary_step = 1 + + # Performance settings + docinfo = extern +} + +index posts +{ + source = posts + path = /var/lib/manticore/data/posts + + # Inherit settings from topics index + morphology = stem_enru + charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42C->U+430..U+44C, U+42E..U+42F->U+44E..U+44F, U+430..U+44C, U+44E..U+44F, U+0401->U+0435, U+0451->U+0435, U+042D->U+0435, U+044D->U+0435 + min_word_len = 1 + min_stemming_len = 4 + min_prefix_len = 0 + min_infix_len = 0 + enable_star = 1 + html_strip = 1 + phrase_boundary = :, -, ., $ + phrase_boundary_step = 1 + docinfo = extern +} + +index users +{ + source = users + path = /var/lib/manticore/data/users + + # Simpler settings for usernames + charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42C->U+430..U+44C, U+42E..U+42F->U+44E..U+44F, U+430..U+44C, U+44E..U+44F, U+0401->U+0435, U+0451->U+0435, U+042D->U+0435, U+044D->U+0435 + min_word_len = 1 + min_prefix_len = 0 + min_infix_len = 0 + enable_star = 1 + docinfo = extern +} + +indexer +{ + mem_limit = 256M + max_iops = 40 + max_iosize = 1048576 +} + +searchd +{ + # Network settings + listen = 127.0.0.1:9312 # SphinxAPI compatibility port + listen = 127.0.0.1:9306:mysql41 # MySQL protocol for PDO + listen = 127.0.0.1:9308:http # HTTP API + + # Logging + log = /var/log/manticore/searchd.log + query_log = /var/log/manticore/query.log + + # Performance settings + read_timeout = 5 + client_timeout = 300 + max_children = 15 + max_matches = 5000 + + # Process management + seamless_rotate = 1 + preopen_indexes = 1 + unlink_old = 1 + pid_file = /var/run/manticore/searchd.pid + + # Memory and caching + max_packet_size = 128M + listen_backlog = 5 + + # Threading + workers = threads + + # Data directory + data_dir = /var/lib/manticore +}