Есть вопросец по Sphinx

есть оcновной индекс blog, есть дельта

проиндексировал все — в поиске выдача есть
делаем indexer delta —rotate все еще в выдаче все есть
делаем
indexer —merge blog delta —rotate — в выдаче пусто
в индексе основном пока около 200 доков, в дельте 8 документов

что не так делаю, как исправить кривизну рук?

12 Responses to Sphinx

  1. XibZZ:

    я делаю три индекса: main, delta и merged, где

    index merged
    {
    type = distributed
    local = idx_main
    local = idx_delta
    }

    и ищу по merged

  2. RatFcuk:

    merged я так понимаю сам собирается?

    тогда вопрос. дельта делается каждую минуту и содержит только новые данные за минуту
    полный индекс или делается раз в сутки (а потом хотелось бы его не трогать)

    каждый раз делая новую дельту мы имеет суточной давности полный индекс + последнеминутную дельту. нет данных за некий период времени в данной схеме.

  3. XibZZ:

    делай дельту за последние сутки 🙂

  4. XibZZ:

    еще, если данные обновляются раз в минуту и чаще, возможно стоит посмотреть на RT индексы

  5. RatFcuk:

    с rt пока руки не дошли и хочется понять с дельтами

  6. RatFcuk:

    каждый раз по 10 тыс документов из базы дергать? к тому же мне надо, что бы при создании нового дока он в поиске был не позже пары минут.

  7. XibZZ:

    а у тебя только инсерты надо обрабатывать, или еще и апдейты?

  8. XibZZ:

    и есть ли атрибуты?

  9. RatFcuk:

    в дельте выборка идет по таймштампу создания/изменения записи

  10. RatFcuk:

    djn xfcnm rjyabuf
    source parent {
    type = mysql


    sql_query_pre = SET NAMES utf8
    sql_query_pre = SET CHARACTER SET utf8
    sql_attr_uint = model_name

    }

    # blog —основной
    source blog:parent {
    sql_query = SELECT id, title, text, 1 as model_name FROM blog WHERE status=1
    sql_query_info = SELECT * FROM blog WHERE id=$id
    }

    # countries
    source countries:parent {
    sql_query = SELECT country_id as id, title, text, 2 as model_name FROM countries
    sql_query_info = SELECT * FROM countries WHERE country_id=$id
    }

    #page
    source page:parent {
    sql_query = SELECT id, title, text, 3 as model_name FROM page
    sql_query_info = SELECT * FROM page WHERE id=$id
    }

    #article
    source article:parent {
    sql_query = SELECT id, title, text, 4 as model_name FROM article
    sql_query_info = SELECT * FROM article WHERE id=$id
    }

    #tour
    source tour:parent {
    sql_query = SELECT id, text, 5 as model_name FROM tour
    sql_query_info = SELECT * FROM tour WHERE id=$id
    }

    #user
    source user:parent {
    sql_query = SELECT id, login, name, surname, 6 as model_name FROM user
    sql_query_info = SELECT * FROM user WHERE id=$id
    }

    # дельта к основному
    source delta:parent {
    sql_query = SELECT id, title, text, 3 as model_name FROM blog WHERE (timers<(NOW() — INTERVAL 1 MINUTE)) and (status=1)
    }

    index blog
    {
    docinfo = extern
    mlock = 0
    morphology = stem_enru
    min_word_len = 2

    charset_type = utf-8
    charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F

    min_infix_len = 2
    enable_star = 1
    path = /var/lib/sphinxsearch/data/blog

    html_strip = 1
    source = blog

    }

    index delta:blog {
    source = delta
    path = /var/lib/sphinxsearch/data/delta
    }

    index countries:blog {
    source = countries
    path = /var/lib/sphinxsearch/data/countries

    }

    index page:blog {
    source = page
    path = /var/lib/sphinxsearch/data/page
    }

    index article:blog {
    source = article
    path = /var/lib/sphinxsearch/data/article
    }

    index tour:blog {
    source = tour
    path = /var/lib/sphinxsearch/data/tour
    }

    index user:blog {
    source = user
    path = /var/lib/sphinxsearch/data/user
    }

  11. 421Zlo:

    лучше сразу на рт без дельт и прочего, сначала сложно, а потом просто радуешься от того, что у тебя есть «черна коробка» в которую ты при изменении данных заливаешь новые, а в нужный тебе момент, по взмаху палочки, получишь все данные взад в том виде как и клал..прям очень удобно, жално со временем из за на больших объемов (по ощущениям от 10Gb) или от больших изменениях, update для текстовых полей до сих пор не доступен, толкьо replace, толкьо хардкох, rt индех начинает просидать по скорости, но шодан обещает придумать «optimize table» для сфинкса чтобы все стало совсем круто

  12. RatFcuk:

    в свете описанных глюков — а ну его нафиг.

Добавить комментарий