sphinx Проиндесировал. Но не ищет(((

Долго ковырялся в итоге результат

using config file '/etc/sphinx/sphinx.conf'...
indexing index 'topicsIndex'...
collected 18 docs, 0.1 MB
collected 41 attr values
sorted 0.0 Mvalues, 100.0% done
sorted 0.0 Mhits, 100.0% done
total 18 docs, 63807 bytes
total 0.014 sec, 4412960 bytes/sec, 1244.89 docs/sec
indexing index 'commentsIndex'...
collected 1 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 1 docs, 40 bytes
total 0.001 sec, 34995 bytes/sec, 874.89 docs/sec
total 84 reads, 0.000 sec, 0.3 kb/call avg, 0.0 msec/call avg
total 20 writes, 0.000 sec, 3.5 kb/call avg, 0.0 msec/call avg


Но поиск один хрен не работает. В статьях пишется что необходимо добавить строку в /etc/rc.local
/usr/local/sphinx/bin/searchd --config /usr/local/sphinx/etc/sphinx.conf

Но если пройти по этим путям, то там такого нет. А сам конфиг у меня лежит в /etc/sphinx/sphinx.conf

А по пути /usr/local/ вобще нет файлов напоминающих о sphinx
+ 0
- 0
  0
  • avatar

Sphinx не работает, после переноса на другой сервер [РЕШЕНО]

Здравствуйте, столкнулся вчера с проблемой после переноса с сервера на сервер, стало выдавать ошибку при наборе в поле поиска любого слова

Notice: Constant SEARCHD_OK already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 33 Notice: Constant SEARCHD_ERROR already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 34 Notice: Constant SEARCHD_RETRY already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 35 Notice: Constant SEARCHD_WARNING already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 36 Notice: Constant SPH_MATCH_ALL already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 39 Notice: Constant SPH_MATCH_ANY already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 40 Notice: Constant SPH_MATCH_PHRASE already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 41 Notice: Constant SPH_MATCH_BOOLEAN already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 42 Notice: Constant SPH_MATCH_EXTENDED already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 43 Notice: Constant SPH_MATCH_FULLSCAN already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 44 Notice: Constant SPH_MATCH_EXTENDED2 already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 45 Notice: Constant SPH_RANK_PROXIMITY_BM25 already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 48 Notice: Constant SPH_RANK_BM25 already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 49 Notice: Constant SPH_RANK_NONE already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 50 Notice: Constant SPH_RANK_WORDCOUNT already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 51 Notice: Constant SPH_SORT_RELEVANCE already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 54 Notice: Constant SPH_SORT_ATTR_DESC already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 55 Notice: Constant SPH_SORT_ATTR_ASC already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 56 Notice: Constant SPH_SORT_TIME_SEGMENTS already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 57 Notice: Constant SPH_SORT_EXTENDED already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 58 Notice: Constant SPH_SORT_EXPR already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 59 Notice: Constant SPH_FILTER_VALUES already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 62 Notice: Constant SPH_FILTER_RANGE already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 63 Notice: Constant SPH_FILTER_FLOATRANGE already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 64 Notice: Constant SPH_ATTR_INTEGER already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 67 Notice: Constant SPH_ATTR_TIMESTAMP already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 68 Notice: Constant SPH_ATTR_ORDINAL already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 69 Notice: Constant SPH_ATTR_BOOL already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 70 Notice: Constant SPH_ATTR_FLOAT already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 71 Notice: Constant SPH_ATTR_MULTI already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 72 Notice: Constant SPH_GROUPBY_DAY already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 75 Notice: Constant SPH_GROUPBY_WEEK already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 76 Notice: Constant SPH_GROUPBY_MONTH already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 77 Notice: Constant SPH_GROUPBY_YEAR already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 78 Notice: Constant SPH_GROUPBY_ATTR already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 79 Notice: Constant SPH_GROUPBY_ATTRPAIR already defined in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 80 Fatal error: Cannot redeclare class SphinxClient in /var/www/vomitting/data/www/site.ru/engine/lib/external/Sphinx/sphinxapi.php on line 158

Кстати сначала думал что виноват установленный Sphinx на сервере, но отключив его получал все те же ошибки.
В чем дело понять не удается, ошибок слишком много, на предыдущем сервере все работало, а на этом не заводится и все тут.

Пока сайт без поиска.

Логи сфинкса пустые.

Прошу предложить хотя бы мысли где копать и что копать. Буду очень благодарен.

Решено: Как посоветовал ort действительно отключение модуля Sphinx api на сервере помогло! PHP .so расширение, после этого все заработало как часики. Спасибо вам ort премногоблагодарен!
+ 0
- 0
  0

Проблемы со скоростью выполнения запросов Sphinx

Здравствуйте, у меня есть вопрос по скорости выполнения запросов Sphinx, прошу помочь неопытному с решением данной проблемы.

Есть созданный RT индекс в котором находятся ~1 500 000 товаров.
Sphinx используется не только для полнотекстового поиска но и для фильтрации и сортировки
товаров в каталоге, также с его помощью реализована зависимость фильтров и подсчет
количества товаров по определенным характеристикам фильтрации.

Проблема состоит в том что запросы отрабатывают довольно долго(запросы и время выполнения
приведу ниже), хочу понять в чем дело, может я что-то упустил или в конфиге напортачил
так как со Sphinx начал работать недавно.

Sphinx.conf:
index rt_index_name
{
    type = rt
    path = /var/data/index_name
    docinfo = extern
    morphology = stem_enru
    min_word_len = 3
    html_strip = 0
    charset_type = utf-8
    enable_star = 1
    rt_mem_limit = 128M

    rt_field = product_title
    rt_field = product_type
    rt_attr_uint = product_nid
    rt_attr_uint = product_status
    rt_attr_uint = product_promote
    rt_attr_bigint = product_available
    rt_attr_uint = product_shop_weight
    rt_attr_uint = product_price
    rt_attr_uint = product_discount
    rt_attr_uint = product_brand
    rt_attr_uint = product_shop
    rt_attr_uint = product_grade
    rt_attr_multi = product_category
    rt_attr_float = product_rating
    rt_attr_float = product_rating_actual
    rt_attr_timestamp = product_created
    rt_attr_bigint = product_moderation_category
    rt_attr_bigint = product_moderation_status
    rt_attr_bigint = product_moderation_suspect
}

searchd
{
    listen = 127.0.0.1:2413:mysql41
    listen = 127.0.0.1:2414
    log = /var/log/sphinx/searchd.log
    query_log = /var/log/sphinx/query.log
    pid_file = /var/run/sphinx/searchd.pid
    read_timeout = 1
    max_matches = 10000
    max_children = 30
    workers = threads
    compat_sphinxql_magics= 0
    dist_threads = 8
}

Примеры запросов:
Пример №1 Время выполнения: 0.378
$sphinx = new SphinxClient();
$sphinx->SetLimits(0, 100);
$sphinx->SetFilter('product_category', array(32903));
$sphinx->SetSortMode(SPH_SORT_EXTENDED, 'product_available DESC, product_grade ASC,
product_rating_actual DESC, product_nid DESC');
$sphinx_results = $sphinx->Query('', 'rt_index_name');


Пример №1 Время выполнения: 0.642
$sphinx = new SphinxClient();
$sphinx->SetLimits(0, 100);
$sphinx->setGroupBy('product_brand', SPH_GROUPBY_ATTR);
$sphinx_results = $sphinx->Query('', 'rt_index_name');


Пример №1 Время выполнения: 0.677
$sphinx = new SphinxClient();
$sphinx->SetLimits(0, 100);
$sphinx->setGroupBy('product_category', SPH_GROUPBY_ATTR);
$sphinx_results = $sphinx->Query('', 'rt_index_name');

Неправильно работает Sphinx

Настроил Sphinx по инструкции, теперь при searchd выдается
Sphinx 2.0.7-id64-release (r3759)
Copyright © 2001-2012, Andrew Aksyonoff
Copyright © 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/etc/sphinxsearch/sphinx.conf'...
listening on UNIX socket /var/run/sphinx.socket
precaching index 'entityprefixtopicsIndex'
WARNING: index 'entityprefixtopicsIndex': preload: failed to open /var/lib/sphinxsearch/data/entityprefix/topicsIndex.sph: No such file or directory; NOT SERVING
precaching index 'entityprefixcommentsIndex'
WARNING: index 'entityprefixcommentsIndex': preload: failed to open /var/lib/sphinxsearch/data/entityprefix/commentsIndex.sph: No such file or directory; NOT SERVING
FATAL: no valid indexes to serve


при searchd --stop
Sphinx 2.0.7-id64-release (r3759)
Copyright © 2001-2012, Andrew Aksyonoff
Copyright © 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/etc/sphinxsearch/sphinx.conf'...
FATAL: stop: failed to read valid pid from '/var/run/searchd.pid'


при indexer --all
Sphinx 2.0.7-id64-release (r3759)
Copyright © 2001-2012, Andrew Aksyonoff
Copyright © 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/etc/sphinxsearch/sphinx.conf'...
indexing index 'entityprefixtopicsIndex'...
ERROR: index 'entityprefixtopicsIndex': sql_connect: Access denied for user 'test'@'localhost' (using password: YES) (DSN=mysql://test:***@localhost:3306/testbase).
total 0 docs, 0 bytes
total 0.114 sec, 0 bytes/sec, 0.00 docs/sec
indexing index 'entityprefixcommentsIndex'...
ERROR: index 'entityprefixcommentsIndex': sql_connect: Access denied for user 'test'@'localhost' (using password: YES) (DSN=mysql://test:***@localhost:3306/testbase).
total 0 docs, 0 bytes
total 0.000 sec, 0 bytes/sec, 0.00 docs/sec
total 0 reads, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg
total 0 writes, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg


Как можно это исправить?
+ 0
- 0
  0

[РЕШЕНО] Поиск по контенту плагинов

Здравствуйте,
делаю сейчас поиск по контенту, который генерируется в моих плагинах. Индексирование в сфинксе сделал, а вот как сделать, чтобы при поиске появлялись нужные мне вкладочки пока не понял.

Подскажите пожалуйста.

UPD Сам разобрался:
1. Нужно расширить ActionSearch:
— Добавить свои типы в sTypesEnabled
— Добавить обработчики вывода результатов
2. В файле шаблона \actions\ActionSearch\results.tpl добавить языковые константы для своих типов
+ 0
- 0
  0

Битва со сфинксом [РЕШЕНО]

Здравствуйте!

Моя битва со сфинксом продолжается и пока он побеждает. Я писал об этом здесь и здесь. Решение на данный момент так и не найдено, но появился еще один вопрос, на который, я надеюсь, кто-нибудь ответит:

Как сфинкс работает с LS? Прошу объяснить общий смысл работы, а именно:
  1. Cфинкс создает индексы и начинает работать от имени root пользователя (на сколько я понимаю).
  2. LS формирует запрос и передает его сфинксу через sphinxapi.php.
  3. Затем LS получает ответ от сфинкса и выдает его пользователю.


Все верно? Вот где-то на 2-м или 3-м этапе у меня возникает проблема (вероятно на 2-м, т.к. в логи сфинкса поисковые запросы не заносятся). Может ли быть это связано с правами на какие-либо файлы/папки? и с чем это вообще может быть связано?

Решение именно моей проблемы:


все дело было в этом топике: http://livestreet.ru/blog/questions/14784.html, т.е. для устранения проблемы, что поиск не выводит больше 100 страниц, я видоизменил файл classes/modules/sphinx/Sphinx.class.php в 72 строке, поэтому поиск на сайте не работал…
+ 2
- 0
  0
  • avatar

Вопрос к разработчикам [РЕШЕНО]

Здравствуйте! Моя проблема (и не только моя, видимо) касается сфинкса. Подробно это изложено Здесь и Здесь.
Если вкратце, то поиск на сайте не работает. Я перепробовал все, от всевозможных экспериментов с конфигами до полной переустановки сфинкса и всего сервера — сам демон работает (индексы создаются, из консоли ищет, ошибок нет), но на сайте результатов нет (в логах тоже ничего нет, даже в лог запросов сфинкса ничего не пишется).

Суть вопроса:


Совершенно понятно, что проблема со стороны LS и/или обработчика php (стоит php 5.3.3, php5-fpm, fast-cgi, apc, memcached, nginx, sphinx 2.0.7). Как найти ее источник?
Последнее, что я пробовал — это отдельная установка php-модуля сфинкса (хотя по идее он не нужен), и тут сайт сразу начал ругаться на то, что переменные в sphinxapi уже определены и класс клиента прочитать не может.

Спасибо за любые советы, т.к. мои идеи уже кончились…

upd: Решение
+ 1
- 0
  0
  • avatar

Sphinx отключается

Здравствуйте! Вопрос следующего характера — поставил Sphinx, все нормально проиндексировалось, нормально запустился демон. Но вот через пару минут пропадает создаваемый им файл searchd.pid (я так понимаю демон отключается) и при попытке запустить поиск виснет сайт. Попробывал в rc.d закинуть файл sphinx с:
#!/bin/sh
/home/user/sphinx/bin/searchd --config /home/user/sphinx/etc/sphinx.conf

но толку никакого.

Может кто подскажет в чем проблема?
+ 0
- 0
  0
  • avatar