ITСooky

IT-рецепты съедобные и не очень!

Сравниваем поисковые движки Sphinx и Manticore для форума phpBB3!

дата 13.11.2019

В очередной раз спас свой форум от тормозов установив на нем поиск через Sphinx и был всем доволен, но тут в английской версии статьи Lets install a super fast search engine Sphinx in to phpBB3 forum! спросили а почему не Manticore — Why not Manticore?

Мантико́ра — чудовище с телом льва, головой человека и хвостом скорпиона — видимо это символизирует мучения разработчиков этого движка! Но как я понял это тот же Sphinx его ранняя опенсурсная версия(которую мне и удалось установить Sphinx 2.2.11-release Jul 19, 2016), которую разработчики перестали поддерживать, а Мантикоры подхватили и развивают! Вот тут описаны все преимущества: manticoresearch.com/manticore-vs-sphinx/ главное для меня что в отличии от Sphinx2 она продолжает улучшаться.

Беру базу своего форума и запускаю на виртуальной машине. Вот характеристики базы:

2000000 постов и это уже проблема для родных поисковых движков phpBB3!

Устанавливаю Manticora
Действую по инструкции docs.manticoresearch.com/latest/html/installation.html#

yum install mysql-libs postgresql-libs expat unixODBC
yum install http://repo.manticoresearch.com/manticore-repo.noarch.rpm

смотрим появился новый репозиторий
yum repolist
нет, ошибка

http://repo.manticoresearch.com/repository/manticoresearch/release/centos/6/i386/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"

Упс не работает, не сразу но я понял из-за чего, у меня CentOS 6 32bit а Manticore только для 64bit!
Этот репозиторий поломал всю установку на CentOS 6 надо чистить
cd /etc/yum.repos.d/
rm repo.manticoresearch.com_manticore-repo.noarch.rpm.repo
rm manticore.repo
yum clean all

…пошел ставить 64bit CentOS, но теперь уже интерес чисто научный, для моего VPS с двумя гб памяти, естественно с 32bit Centos, естественно Manticore непременим!

Устанавливаю Manticora на CentOS 7 64bit
yum install mysql-libs postgresql-libs expat unixODBC
yum install http://repo.manticoresearch.com/manticore-repo.noarch.rpm
yum install manticore

Ээээ ты чо

Erasing    : sphinx-2.2.11-1.rhel7.x86_64  

Ну ладно!

Вообщем Мантикора собой полностью подменила Свинкса
searchd --config /etc/sphinx/sphinx.conf
выдает

Manticore 3.2.0 e526a01@191017 release
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-2019, Manticore Software LTD (http://manticoresearch.com)

using config file '/etc/sphinx/sphinx.conf' (7314 chars)...
WARNING: key 'docinfo' was permanently removed from configuration. Refer to documentation for details.
FATAL: failed to lock pid file '/usr/www/sphinx/searchd.pid': Resource temporarily unavailable (searchd already running?)
shutdown complete

Sphinx уже был настроен на phpBB3 поэтому ничего настраивать не надо!
Очишаю папки
/usr/www/sphinx/
/usr/www/sphinx/log/

Сами папки остаются

Запускаю main индексацию с замером скорости (в конце и начале выдает время)
date&&indexer --config /etc/sphinx/sphinx.conf index_phpbb_819ad66b94720731_main&&date
Тоже самое делал и со сфинксом на этой конфигурации, раземер базы 3.28 GiB постов 2083415 и вот время
Sphinx: 2:49 min
Manticore: 2:40 min

Также надо дальше сделать
indexer --config /etc/sphinx/sphinx.conf index_phpbb_819ad66b94720731_delta
перезагрузиться и запустить сфинкс эээ… тоесть мантикору, но команда таже!
reboot
searchd --config /etc/sphinx/sphinx.conf

В автозагрузку я его не добавляю тут, для теста не надо!

На форуме включен debugin делаю запросы и смотрю сколько времени тратится на генерацию!

*VPS — реальный VPS база уже успела подрасти, в момент замера 170 читателей на форуме за 5 минут: CentOS 6.10 32bit, 50 Gb SSD, CPU 2 × 2 GHz, 2048 mb
*VM — CentOS 7.7 64bit, CPU 2, 2048 mb

Вывод: Пока выбираю старика Sphinx 2
1) Есть 32bit версия для CentOS
2) По скорости видимо Manticore и Sphinx одно и тоже, но странно что не сильно обогнали в 5ти-словном поиске реальный форум!


3 комментария to “Сравниваем поисковые движки Sphinx и Manticore для форума phpBB3!”

  1. Sergey Nikolaev:

    Здравствуйте. Смущает «Sphinx уже был настроен на phpBB3 поэтому ничего настраивать не надо!»

    Не могли бы вы убедиться в том, что условия для теста одинаковые, а именно, что оба searchd прогреты одинаковы? Для этого можно: остановить оба searchd, использовать vmtouch -e, чтоб вычистить из памяти всё, что там закэшировала ОС, запустить searchd. И тогда уже тестировать.

    • Александр:

      Да! Sphinx при первом измерении показал какие-то аномально быстрые результаты, потом они не повторялись! Перемерял все и добавил данные с реального VPS, получается скорость на VM одинаковая у Сфинкса и Мантикопы, вот только не понятно почему в 5словном поиске результаты с VPS близки…

  2. Александр:

    Добрый вечер!
    Движок только один может присутствовать! Когда ставлю Manticore она удоляет Sphinx. При живой мантикоре сфинкс не хочет ставиться
    error: Failed dependencies:
    sphinx is obsoleted by (installed) manticore-3.2.0_191017.e526a01-1.el7.centos.x86_64 …еще раз делаю тест, что-то странное

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *