не воспроизводится Sphinx поиск

Dr_Brown

Пользователь
Elder_FTO,
Код:
команда: /etc/sphinxsearch# indexer --config sphinx.conf --rotate --all
 
using config file 'sphinx.conf'...
indexing index 'topics'...
collected 9054 docs, 1.3 MB
sorted 0.1 Mhits, 100.0% done
total 9054 docs, 1264378 bytes
total 0.729 sec, 1732772 bytes/sec, 12408.09 docs/sec
indexing index 'posts'...
collected 9456 docs, 57.9 MB
sorted 7.0 Mhits, 100.0% done
total 9456 docs, 57948200 bytes
total 535.534 sec, 108206 bytes/sec, 17.65 docs/sec
indexing index 'users'...
WARNING: Attribute count is 0: switching to none docinfo
collected 113 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 113 docs, 973 bytes
total 0.001 sec, 649532 bytes/sec, 75433.91 docs/sec
total 12 reads, 0.014 sec, 1618.2 kb/call avg, 1.2 msec/call avg
total 73 writes, 0.135 sec, 596.5 kb/call avg, 1.8 msec/call avg
rotating indices: successfully sent SIGHUP to searchd (pid=19484).

Пробовал в конфиге менять sql_range, такое впечатление что этот параметр вообще не учитывается...всеравно при разных значениях total 535.534 sec примерно одинаковое, причем при ротации posts именно проц грузит на 100%
 

Dr_Brown

Пользователь
Пацаны ну скажите, это нормально при таком конфиге: VPS: Virtual CPU 2800Mhz, 768Mb memory, debian-6-i386, проц заряжет на 100 %, при том что ещё мемкеш прицеплен ?
Или не заморачиваться на сфинкс с таким слабым серваком ?
 

Elder_FTO

Пользователь
Dr_Brown, основная проблема в ом, что у тебя виртуальный серв, а это означает, что тебе не дают всех ресурсов по сравнению с выделенным то, что там написали 2800 Мгц это ничего не значит, тебе дают небольшой кусочек, а если сфинкс начинает жрать много, а на этом же физ. сервере есть еще тяжелые клиенты, то ты не получишь всей обещанной мощности, а тебе её и не обещали, а только мегагерцы... сначала попробуй дельта индексы как писали выше, заодно настрой мускул на хорошую производительность, если не поможт купи выделенный серв...
п.с. мемкеш про котрый ты тут писал, тут вообще никаким боком...
 

Chumaster59

Пользователь
Не как разобраться не могу, даже переустановил и последнюю версию поставил, но ищет не всё
если в конфиге указать поиск mysql то к примеру по запросу "windows" выдаётся 122 результата,
а если sphinx то всего 2 !!! (индекс и вручную запускал)

Код:
Sphinx 2.1.2-release (r4245)
Copyright (c) 2001-2013, Andrew Aksyonoff
Copyright (c) 2008-2013, Sphinx Technologies Inc (http://sphinxsearch.com)
 
using config file '****\sphinx\sphinx.conf'...
indexing index 'topics'...
collected 28353 docs, 4.2 MB
sorted 0.4 Mhits, 100.0% done
total 28353 docs, 4232880 bytes
total 0.481 sec, 8785189 bytes/sec, 58845.62 docs/sec
indexing index 'posts'...
collected 146498 docs, 156.6 MB
sorted 16.7 Mhits, 100.0% done
WARNING: 31 duplicate document id pairs found
total 146498 docs, 156637492 bytes
total 13.302 sec, 11774933 bytes/sec, 11012.71 docs/sec
indexing index 'users'...
WARNING: Attribute count is 0: switching to none docinfo
collected 35015 docs, 0.3 MB
sorted 0.0 Mhits, 100.0% done
total 35015 docs, 319283 bytes
total 0.223 sec, 1429922 bytes/sec, 156816.11 docs/sec
total 5 reads, 0.045 sec, 9846.6 kb/call avg, 9.0 msec/call avg
total 137 writes, 0.086 sec, 825.1 kb/call avg, 0.6 msec/call avg
конфиг самого sphinx'a

PHP:
source torrentpier
{
    type                    = mysql
    sql_host                = 127.0.0.1
    sql_user                = ***
    sql_pass                = ***
    sql_db                  = ***
    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 IF(MIN(post_id) = 0, 1, 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
{
    docinfo                = extern
    morphology              = stem_enru
    charset_type            = utf-8
    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_prefix_len          = 0
    min_infix_len          = 0
    min_word_len            = 1
    min_stemming_len        = 4
    enable_star            = 1
    phrase_boundary        = :, - , . , $
    phrase_boundary_step    = 1
    html_strip              = 1
    path                    = ***/Sphinx/bin/data/topics
    source                  = topics
}
 
index posts: topics
{
    path                    = ***/Sphinx/bin/data/posts
    source                  = posts
}
 
index users: topics
{
    path                    = ***/Sphinx/bin/data/users
    source                  = users
}
 
indexer
{
    mem_limit              = 256M
}
 
searchd
{
    listen                  = 127.0.0.1:3312
    log                    = ***/Sphinx/bin/log/searchd.log
    query_log              = ***/Sphinx/bin/log/query.log
    read_timeout            = 5
    max_children            = 15
    max_matches            = 5000
    seamless_rotate          = 1
    preopen_indexes        = 0
    unlink_old              = 1
    pid_file                = ***/Sphinx/bin/searchd.pid
}
ну и структура bb_topics (мало ли)
015b98d5d2083bc784fc1b158d0a39ae.png
 

Elder_FTO

Пользователь
попробуй в консоли набрать /usr/local/bin/search --config /usr/local/etc/sphinx.conf строка_поиска
совпадут ли результаты с результатами мускула? тогда и будет понятно сам сфинкс или в коде форума что-то...
 
Сверху