@Kirows

Как правильно индексировать удаленную БД через Sphinxsearch?

Есть виртуальный хостинг с крутящимся магазином на основе Bitrix.
Есть VDS сервер с крутящимся на нём Centos 6, и работающим сфинксом.

В данный момент вся мишура работает, но с одной проблемой, не индексируется база битрикса. В логах никаких проблем не наблюдается. Если ищешь на сайте, то в query-логе сфинкса появляется запись, но так как индекс пустой, то ничего он не находит.
При переиндексации выдает следующее:
Success: Sphinx 2.1.9-id64-release (rel21-r4761)
Copyright (c) 2001-2014, Andrew Aksyonoff
Copyright (c) 2008-2014, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/etc/sphinx/sphinx.conf'...
indexing index '*******'...
collected 0 docs, 0.0 MB
total 0 docs, 0 bytes
total 0.082 sec, 0 bytes/sec, 0.00 docs/sec
total 97 reads, 0.006 sec, 98.6 kb/call avg, 0.0 msec/call avg
total 6 writes, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg
rotating indices: successfully sent SIGHUP to searchd (pid=29759).

Если бы он не мог соединиться с БД, то должен ли он писать ошибку?
Если не должен, то как узнать, что он соединяется/не ?
В БД несколько миллионов записей.

Конфиг сфинкса для интереса
source **********.
{
    type = mysql # PostgreSQL / mssql
    sql_host = **********
    sql_user = **********
    sql_pass = **********
    sql_db = **********
    sql_port = 3306 # 3306

    sql_query_pre = SET NAMES utf8
    sql_query_pre = SET CHARACTER SET utf8

sql_query = SELECT P.id, P.article, P.title, P.original_article, P.brand_title, 
CONCAT( P.article, ' ', P.original_article, ' ', P.brand_title, ' ', P.title ) 
AS all_fulltext FROM b_products P WHERE P.quantity > 0 AND 
P.supplier_id IN (SELECT id FROM b_sphinx_active_suppliers)
<------>
    # update index time
    sql_query_post_index = INSERT INTO b_option (MODULE_ID, NAME, 
VALUE) VALUES ('**********sphinx',     'last_sphinx_reindex', NOW()) 
ON DUPLICATE KEY UPDATE VALUE = NOW()
}

index lm_auto.
{
    source = **********.
    path = /var/lib/sphinx/**********
    docinfo = none
........
    min_infix_len       = 2
    min_prefix_len       = 0
    infix_fields        = article
    enable_star     = 1
    morphology = lemmatize_ru_all
    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
    stopwords = /etc/sphinx/stopwords.txt
}

indexer
{
    mem_limit = 32M 
    lemmatizer_base = /etc/sphinx/dicts/
}

searchd
{
    listen = **********
    log = /var/log/sphinx/searchd-main.log
    query_log = /var/log/sphinx/query-main.log
    read_timeout = 5
    max_children = 30
    pid_file = /var/run/sphinx/searchd-main.pid
    max_matches = 10000
    binlog_path = #
}
  • Вопрос задан
  • 2798 просмотров
Решения вопроса 1
opium
@opium
Просто люблю качественно работать
Вы переиндексируете через indexer --all --rotate ? У вас вывод показывает что он проиндексировал 0 документов, логично что индекс пустой.
Настройте нормально сфинкс просто.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы