Дорогие коллеги, новички и профи, загляните, улыбнитесь, почитайте, дабы не наступать на грабли дважды. Дорогие клиенты - представьте себя в нашей шкуре :)
source core_search_main : ipb_source_config { # Set our forum PID counter sql_query_pre = REPLACE INTO ibf_cache_store VALUES( 'sphinx_core_counter', (SELECT max(id) FROM ibf_faq), '', 0, UNIX_TIMESTAMP() )
# Query posts for the main source sql_query = SELECT f.*, f.id as search_id, \ REPLACE( pi.perm_view, '*', 0 ) as perm_view \ FROM ibf_faq f \ LEFT JOIN ibf_permission_index pi ON ( pi.perm_type_id=1 AND pi.perm_type='help' ) \ WHERE f.id <= ( SELECT cs_value FROM ibf_cache_store WHERE cs_key='sphinx_core_counter' )
# Fields sql_attr_uint = search_id
sql_ranged_throttle = 0 }
source core_search_delta : core_search_main { # Override the base sql_query_pre sql_query_pre =
# Query posts for the main source sql_query = SELECT f.*, f.id as search_id, \ REPLACE( pi.perm_view, '*', 0 ) as perm_view \ FROM ibf_faq f \ LEFT JOIN ibf_permission_index pi ON ( pi.perm_type_id=1 AND pi.perm_type='help' ) \ WHERE f.id > ( SELECT cs_value FROM ibf_cache_store WHERE cs_key='sphinx_core_counter' )
# Fields sql_attr_uint = search_id
sql_ranged_throttle = 0 }
index core_search_main { source = core_search_main path = /var/sphinx/core_search_main
############################## --- MEMBERS --- ##############################
source members_search_main : ipb_source_config { # Set our forum PID counter sql_query_pre = REPLACE INTO ibf_cache_store VALUES( 'sphinx_members_counter', (SELECT max(member_id) FROM ibf_members), '', 0, UNIX_TIMESTAMP() )
# Query posts for the main source sql_query = SELECT m.member_id, m.member_id as search_id, m.member_group_id, m.email, m.joined, m.members_display_name, m.name, \ REPLACE( pi.perm_view, '*', 0 ) as perm_view, \ CASE WHEN pi.authorized_users IS NULL THEN 0 ELSE pi.authorized_users END AS authorized_users, \ CASE WHEN pi.friend_only=0 THEN 0 ELSE m.member_id END AS friend_only, \ CASE WHEN pi.owner_only=0 THEN 0 ELSE m.member_id END AS owner_only \ FROM ibf_members m \ LEFT JOIN ibf_permission_index pi ON ( pi.perm_type_id=1 AND pi.perm_type='profile_view' ) \ WHERE m.member_id <= ( SELECT cs_value FROM ibf_cache_store WHERE cs_key='sphinx_members_counter' )
# Fields sql_attr_uint = search_id sql_attr_uint = friend_only sql_attr_uint = owner_only sql_attr_timestamp = joined sql_attr_multi = uint perm_view from field sql_attr_multi = uint authorized_users from field
sql_ranged_throttle = 0 }
source members_search_delta : members_search_main { # Override the base sql_query_pre sql_query_pre =
# Query posts for the main source sql_query = SELECT m.member_id, m.member_id as search_id, m.member_group_id, m.email, m.joined, m.members_display_name, m.name, \ REPLACE( pi.perm_view, '*', 0 ) as perm_view, \ CASE WHEN pi.authorized_users IS NULL THEN 0 ELSE pi.authorized_users END AS authorized_users, \ CASE WHEN pi.friend_only=0 THEN 0 ELSE m.member_id END AS friend_only, \ CASE WHEN pi.owner_only=0 THEN 0 ELSE m.member_id END AS owner_only \ FROM ibf_members m \ LEFT JOIN ibf_permission_index pi ON ( pi.perm_type_id=1 AND pi.perm_type='profile_view' ) \ WHERE m.member_id > ( SELECT cs_value FROM ibf_cache_store WHERE cs_key='sphinx_members_counter' ) }
index members_search_main { source = members_search_main path = /var/sphinx/members_search_main
################################# --- FORUM --- ############################## source forums_search_posts_main : ipb_source_config { # Set our forum PID counter sql_query_pre = REPLACE INTO ibf_cache_store VALUES( 'sphinx_forums_counter_posts', (SELECT max(pid) FROM ibf_posts), '', 0, UNIX_TIMESTAMP() )
# Query posts for the main source sql_query = SELECT p.pid, p.pid as search_id, p.author_id, p.post_date, p.post, p.topic_id, p.queued, \ t.tid, t.forum_id, t.approved, \ REPLACE( pi.perm_view, '*', 0 ) as perm_view, \ CASE WHEN pi.authorized_users IS NULL OR pi.authorized_users='' THEN 0 ELSE pi.authorized_users END AS authorized_users, \ CASE WHEN pi.friend_only=0 THEN 0 ELSE p.author_id END AS friend_only, \ CASE WHEN pi.owner_only=0 THEN 0 ELSE p.author_id END AS owner_only, \ CASE WHEN f.password <> '' THEN 1 ELSE 0 END AS password \ FROM ibf_posts p \ LEFT JOIN ibf_topics t ON ( p.topic_id=t.tid ) \ LEFT JOIN ibf_forums f ON ( t.forum_id=f.id ) \ LEFT JOIN ibf_permission_index pi ON ( pi.perm_type_id=t.forum_id AND pi.perm_type='forum' )
# Fields sql_attr_bool = queued sql_attr_bool = approved sql_attr_uint = search_id sql_attr_uint = friend_only sql_attr_uint = forum_id sql_attr_uint = owner_only sql_attr_timestamp = post_date sql_attr_multi = uint perm_view from field sql_attr_multi = uint authorized_users from field sql_attr_bool = password sql_attr_uint = author_id sql_attr_uint = tid
sql_ranged_throttle = 0 }
source forums_search_topics_main : ipb_source_config { # Set our forum PID counter sql_query_pre = REPLACE INTO ibf_cache_store VALUES( 'sphinx_forums_counter_topics', (SELECT max(tid) FROM ibf_topics), '', 0, UNIX_TIMESTAMP() )
# Query posts for the main source sql_query = SELECT t.tid, t.tid as search_id, t.forum_id, t.approved, t.title, t.last_post, t.last_poster_id as author_id, \ REPLACE( pi.perm_view, '*', 0 ) as perm_view, \ CASE WHEN pi.authorized_users IS NULL OR pi.authorized_users='' THEN 0 ELSE pi.authorized_users END AS authorized_users, \ CASE WHEN pi.friend_only=0 THEN 0 ELSE t.last_poster_id END AS friend_only, \ CASE WHEN pi.owner_only=0 THEN 0 ELSE t.last_poster_id END AS owner_only, \ CASE WHEN f.password <> '' THEN 1 ELSE 0 END AS password \ FROM ibf_topics t \ LEFT JOIN ibf_forums f ON ( t.forum_id=f.id ) \ LEFT JOIN ibf_permission_index pi ON ( pi.perm_type_id=t.forum_id AND pi.perm_type='forum' )
# Fields sql_attr_bool = approved sql_attr_uint = search_id sql_attr_uint = friend_only sql_attr_uint = forum_id sql_attr_uint = owner_only sql_attr_timestamp = last_post sql_attr_multi = uint perm_view from field sql_attr_multi = uint authorized_users from field sql_attr_bool = password sql_attr_uint = author_id
sql_ranged_throttle = 0 }
source forums_search_posts_delta : forums_search_posts_main { # Override the base sql_query_pre sql_query_pre =
# Query posts for the delta source sql_query = SELECT p.pid, p.pid as search_id, p.author_id, p.post_date, p.post, p.topic_id, p.queued, \ t.tid, t.forum_id, t.approved, t.title, \ REPLACE( pi.perm_view, '*', 0 ) as perm_view, \ CASE WHEN pi.authorized_users IS NULL OR pi.authorized_users='' THEN 0 ELSE pi.authorized_users END AS authorized_users, \ CASE WHEN pi.friend_only=0 THEN 0 ELSE p.author_id END AS friend_only, \ CASE WHEN pi.owner_only=0 THEN 0 ELSE p.author_id END AS owner_only, \ CASE WHEN f.password <> '' THEN 1 ELSE 0 END AS password \ FROM ibf_posts p \ LEFT JOIN ibf_topics t ON ( p.topic_id=t.tid ) \ LEFT JOIN ibf_forums f ON ( t.forum_id=f.id ) \ LEFT JOIN ibf_permission_index pi ON ( pi.perm_type_id=t.forum_id AND pi.perm_type='forum' ) \ WHERE p.pid > ( SELECT cs_value FROM ibf_cache_store WHERE cs_key='sphinx_forums_counter_posts' ) }
source forums_search_topics_delta : forums_search_topics_main { # Override the base sql_query_pre sql_query_pre =
# Query posts for the delta source sql_query = SELECT t.tid, t.tid as search_id, t.forum_id, t.approved, t.title, t.last_post, t.last_poster_id as author_id, \ REPLACE( pi.perm_view, '*', 0 ) as perm_view, \ CASE WHEN pi.authorized_users IS NULL OR pi.authorized_users='' THEN 0 ELSE pi.authorized_users END AS authorized_users, \ CASE WHEN pi.friend_only=0 THEN 0 ELSE t.last_poster_id END AS friend_only, \ CASE WHEN pi.owner_only=0 THEN 0 ELSE t.last_poster_id END AS owner_only, \ CASE WHEN f.password <> '' THEN 1 ELSE 0 END AS password \ FROM ibf_topics t \ LEFT JOIN ibf_forums f ON ( t.forum_id=f.id ) \ LEFT JOIN ibf_permission_index pi ON ( pi.perm_type_id=t.forum_id AND pi.perm_type='forum' ) \ WHERE t.tid > ( SELECT cs_value FROM ibf_cache_store WHERE cs_key='sphinx_forums_counter_topics' ) }
index forums_search_posts_main { source = forums_search_posts_main path = /var/sphinx/forums_search_posts_main
source calendar_search_main : ipb_source_config { # Set our forum PID counter sql_query_pre = REPLACE INTO ibf_cache_store VALUES( 'sphinx_calendar_counter', (SELECT max(event_id) FROM ibf_cal_events), '', 0, UNIX_TIMESTAMP() )
# Query posts for the main source sql_query = SELECT e.*, e.event_id as search_id, \ REPLACE( pi.perm_view, '*', 0 ) as perm_view, \ CASE WHEN pi.authorized_users IS NULL THEN 0 ELSE pi.authorized_users END AS authorized_users, \ CASE WHEN pi.friend_only=0 THEN 0 ELSE e.event_member_id END AS friend_only, \ CASE WHEN pi.owner_only=0 THEN 0 ELSE e.event_member_id END AS owner_only \ FROM ibf_cal_events e \ LEFT JOIN ibf_permission_index pi ON ( pi.perm_type_id=e.event_calendar_id AND pi.perm_type='calendar' ) \ WHERE e.event_id <= ( SELECT cs_value FROM ibf_cache_store WHERE cs_key='sphinx_calendar_counter' )
# Fields sql_attr_uint = search_id sql_attr_uint = friend_only sql_attr_uint = owner_only sql_attr_timestamp = event_unix_from sql_attr_multi = uint perm_view from field sql_attr_multi = uint authorized_users from field sql_attr_uint = event_member_id
sql_ranged_throttle = 0 }
source calendar_search_delta : calendar_search_main { # Override the base sql_query_pre sql_query_pre =
# Query posts for the main source sql_query = SELECT e.*, e.event_id as search_id, \ REPLACE( pi.perm_view, '*', 0 ) as perm_view, \ CASE WHEN pi.authorized_users IS NULL THEN 0 ELSE pi.authorized_users END AS authorized_users, \ CASE WHEN pi.friend_only=0 THEN 0 ELSE e.event_member_id END AS friend_only, \ CASE WHEN pi.owner_only=0 THEN 0 ELSE e.event_member_id END AS owner_only \ FROM ibf_cal_events e \ LEFT JOIN ibf_permission_index pi ON ( pi.perm_type_id=e.event_calendar_id AND pi.perm_type='calendar' ) \ WHERE e.event_id > ( SELECT cs_value FROM ibf_cache_store WHERE cs_key='sphinx_calendar_counter' ) }
index calendar_search_main { source = calendar_search_main path = /var/sphinx/calendar_search_main
source downloads_search_main : ipb_source_config { # Set our forum PID counter sql_query_pre = REPLACE INTO ibf_cache_store VALUES( 'sphinx_downloads_counter', (SELECT max(file_id) FROM ibf_downloads_files), '', 0, UNIX_TIMESTAMP() )
# Query posts for the main source sql_query = SELECT f.*, f.file_id as search_id, \ REPLACE( pi.perm_view, '*', 0 ) as perm_view, \ CASE WHEN pi.authorized_users IS NULL THEN 0 ELSE pi.authorized_users END AS authorized_users, \ CASE WHEN pi.friend_only=0 THEN 0 ELSE f.file_submitter END AS friend_only, \ CASE WHEN pi.owner_only=0 THEN 0 ELSE f.file_submitter END AS owner_only \ FROM ibf_downloads_files f \ LEFT JOIN ibf_permission_index pi ON ( pi.perm_type_id=f.file_cat AND pi.app='downloads' AND pi.perm_type='cat' ) \ WHERE f.file_id <= ( SELECT cs_value FROM ibf_cache_store WHERE cs_key='sphinx_downloads_counter' )
# Fields sql_attr_uint = search_id sql_attr_uint = friend_only sql_attr_uint = file_cat sql_attr_uint = owner_only sql_attr_timestamp = file_updated sql_attr_multi = uint perm_view from field sql_attr_multi = uint authorized_users from field sql_attr_uint = file_submitter
sql_ranged_throttle = 0 }
source downloads_search_delta : downloads_search_main { # Override the base sql_query_pre sql_query_pre =
# Query posts for the main source sql_query = SELECT f.*, f.file_id as search_id, \ REPLACE( pi.perm_view, '*', 0 ) as perm_view, \ CASE WHEN pi.authorized_users IS NULL THEN 0 ELSE pi.authorized_users END AS authorized_users, \ CASE WHEN pi.friend_only=0 THEN 0 ELSE f.file_submitter END AS friend_only, \ CASE WHEN pi.owner_only=0 THEN 0 ELSE f.file_submitter END AS owner_only \ FROM ibf_downloads_files f \ LEFT JOIN ibf_permission_index pi ON ( pi.perm_type_id=f.file_cat AND pi.app='downloads' AND pi.perm_type='cat' ) \ WHERE f.file_id > ( SELECT cs_value FROM ibf_cache_store WHERE cs_key='sphinx_downloads_counter' ) }
index downloads_search_main { source = downloads_search_main path = /var/sphinx/downloads_search_main
source links_search_main : ipb_source_config { # Set our forum PID counter sql_query_pre = REPLACE INTO ibf_cache_store VALUES( 'sphinx_links_counter', (SELECT max(id) FROM ibf_links), '', 0, UNIX_TIMESTAMP() )
# Query links for the main source sql_query = SELECT l.*, l.link_id as search_id \ FROM ibf_links l \ WHERE l.link_id <= ( SELECT cs_value FROM ibf_cache_store WHERE cs_key='sphinx_links_counter' )
# Fields sql_attr_uint = search_id
sql_ranged_throttle = 0 }
source links_search_delta : links_search_main { # Override the base sql_query_pre sql_query_pre =
# Query links for the main source sql_query = SELECT l.*, l.link_id as search_id \ FROM ibf_links l \ WHERE l.link_id <= ( SELECT cs_value FROM ibf_cache_store WHERE cs_key='sphinx_links_counter' )
# Fields sql_attr_uint = search_id
sql_ranged_throttle = 0 }
index links_search_main { source = links_search_main path = /var/sphinx/links_search_main
source gallery_search_main : ipb_source_config { # Set our forum PID counter sql_query_pre = REPLACE INTO ibf_cache_store VALUES( 'sphinx_gallery_counter', (SELECT max(id) FROM ibf_gallery_images), '', 0, UNIX_TIMESTAMP() )
# Query posts for the main source sql_query = SELECT g.*, g.id as search_id, \ REPLACE( pi.perm_view, '*', 0 ) as perm_view, \ CASE WHEN pi.authorized_users IS NULL THEN 0 ELSE pi.authorized_users END AS authorized_users, \ CASE WHEN pi.friend_only=0 THEN 0 ELSE g.member_id END AS friend_only, \ CASE WHEN pi.owner_only=0 THEN 0 ELSE g.member_id END AS owner_only \ FROM ibf_gallery_images g \ LEFT JOIN ibf_permission_index pi ON ( pi.perm_type_id=g.category_id AND pi.app='gallery' AND pi.perm_type='cat' ) \ WHERE g.id <= ( SELECT cs_value FROM ibf_cache_store WHERE cs_key='sphinx_gallery_counter' )
# Fields sql_attr_uint = search_id sql_attr_uint = friend_only sql_attr_uint = owner_only sql_attr_timestamp = idate sql_attr_multi = uint perm_view from field sql_attr_multi = uint authorized_users from field sql_attr_uint = member_id
sql_ranged_throttle = 0 }
source gallery_search_delta : gallery_search_main { # Override the base sql_query_pre sql_query_pre =
# Query posts for the main source sql_query = SELECT g.*, g.id as search_id, \ REPLACE( pi.perm_view, '*', 0 ) as perm_view, \ CASE WHEN pi.authorized_users IS NULL THEN 0 ELSE pi.authorized_users END AS authorized_users, \ CASE WHEN pi.friend_only=0 THEN 0 ELSE g.member_id END AS friend_only, \ CASE WHEN pi.owner_only=0 THEN 0 ELSE g.member_id END AS owner_only \ FROM ibf_gallery_images g \ LEFT JOIN ibf_permission_index pi ON ( pi.perm_type_id=g.category_id AND pi.app='gallery' AND pi.perm_type='cat' ) \ WHERE g.id > ( SELECT cs_value FROM ibf_cache_store WHERE cs_key='sphinx_gallery_counter' ) }
index gallery_search_main { source = gallery_search_main path = /var/sphinx/gallery_search_main