Приветствую Вас Гость

Категории каталога
Продвижение сайтов [4]
Seo штучки и все что поможет повысить сайт в выдаче поисковика
Настройка сайтов и сео-штучки [7]
Партнерские [0]
Советы вебмастерам [36]
Дорогие коллеги, новички и профи, загляните, улыбнитесь, почитайте, дабы не наступать на грабли дважды. Дорогие клиенты - представьте себя в нашей шкуре :)
Поиск
Статистика

Статьи о сайтостроительстве


Главная » Статьи » Советы вебмастерам

Пример конфигурационного файла Сфинкс для IPB 3.2.х. spinx.conf. Все модули
В данном примере вы найдете инструкции по индексации Сфинксом следующих модулей IPB:
- Ядро (CORE)
- Форум (FORUM)
- Участники (MEMBERS)
- Галерея (GALLERY)
- Качалка (DOWNLOADS)
- Календарь (CALENDAR)
- Ссылки (LINKS)

Отсутсвуют: Теги

Актуально для IPB 3.0.x, 3.1.x, 3.2.x



Code

#############################################################################
## data source definition
#############################################################################

source ipb_source_config
{
  #setup
  type = mysql
  sql_host = ###.###.###.###
  sql_user = #
  sql_pass = #
  sql_db = #
  sql_port = #
}

############################### --- CORE --- ################################

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
   
  docinfo = extern
  mlock = 0
  morphology = none
  min_word_len = 2
  charset_type = sbcs
  html_strip = 0  
}

index core_search_delta : core_search_main
{
  source = core_search_delta
  path = /var/sphinx/core_search_delta
}

############################## --- 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
   
  docinfo = extern
  mlock = 0
  morphology = none
  min_word_len = 2
  charset_type = sbcs
  html_strip = 0  
}

index members_search_delta : members_search_main
{
  source = members_search_delta
  path = /var/sphinx/members_search_delta
}

################################# --- 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
   
  docinfo = extern
  mlock = 0
  morphology = none
  min_word_len = 2
  charset_type = sbcs
  html_strip = 0  
}

index forums_search_posts_delta : forums_search_posts_main
{
  source = forums_search_posts_delta
  path = /var/sphinx/forums_search_posts_delta
}

index forums_search_topics_main
{
  source = forums_search_topics_main
  path = /var/sphinx/forums_search_topics_main
   
  docinfo = extern
  mlock = 0
  morphology = none
  min_word_len = 2
  charset_type = sbcs
  html_strip = 0  
}

index forums_search_topics_delta : forums_search_topics_main
{
  source = forums_search_topics_delta
  path = /var/sphinx/forums_search_topics_delta
}

############################# --- CALENDAR --- ##############################

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
   
  docinfo = extern
  mlock = 0
  morphology = none
  min_word_len = 2
  charset_type = sbcs
  html_strip = 0  
}

index calendar_search_delta : calendar_search_main
{
  source = calendar_search_delta
  path = /var/sphinx/calendar_search_delta
}

############################ --- DOWNLOADS --- ##############################

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
   
  docinfo = extern
  mlock = 0
  morphology = none
  min_word_len = 2
  charset_type = sbcs
  html_strip = 0  
}

index downloads_search_delta : downloads_search_main
{
  source = downloads_search_delta
  path = /var/sphinx/downloads_search_delta
}

############################### --- LINKS --- ################################

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
   
  docinfo = extern
  mlock = 0
  morphology = none
  min_word_len = 2
  charset_type = sbcs
  html_strip = 0  
}

index links_search_delta : links_search_main
{
  source = links_search_delta
  path = /var/sphinx/links_search_delta
}

############################## --- GALLERY --- ##############################

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
   
  docinfo = extern
  mlock = 0
  morphology = none
  min_word_len = 2
  charset_type = sbcs
  html_strip = 0  
}

index gallery_search_delta : gallery_search_main
{
  source = gallery_search_delta
  path = /var/sphinx/gallery_search_delta
}

#############################################################################
## indexer settings
#############################################################################

indexer
{
  mem_limit = 256M
}

#############################################################################
## searchd settings
#############################################################################

searchd
{
  address = 127.0.0.1
  port = ####
  log = /var/sphinx/log/searchd.log
  query_log = /var/sphinx/log/query.log
  read_timeout = 5
  max_children = 30
  pid_file = /var/sphinx/log/searchd.pid
  max_matches = 1000
  seamless_rotate = 0
  preopen_indexes = 0
  unlink_old = 1
}

# --eof--
Категория: Советы вебмастерам | Добавил: cmerlin (19.10.2011)
Просмотров: 3792
Хентай
фанфики