VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Много по этому вопросу уже обсуждалось. Тем не менее для себя не решил вопросы.
Не секрет, что встроенный поиск мягко говоря не совершенен.
Итак имется форум с приличной посещаемостью (более 50 тыс. хостов в сутки) и большой базой (несколько миллионов сообщений). В связи с чем хочу выяснить для себя ряд моментов:
1. Какой тип поиска лучше использовать: MySQL Fulltext или собственный поисковый форума? (желательно прокомментировать подробно - почему)
2. Есть ли ограничения по размеру хранимых в базе индексов?
3. Имеет смысл не индексировать нетематические разделы (типа "Курилки")? Пользователям безусловно это не удобно. Как Вы для себя решили этот вопрос?
4. Есть ли прямая связь между размером индексов и скоростью работы серверов? Не нагружает ли дополнительно это сервер?
5. Какие рекомендации сможете предложить по оптимизации настройки поиска на форуме?
Если поиск действительно важен, то надо ставить sphinx search.
Это отдельный индексирующий сервер. Плохо, что модификация продается как эксклюзив очень дорого - 2000$,
а обычный продукт на vb.org не такой понтовый.
Нет, я сам еще не ставил, но планирую когда-нибудь.
@Pavel2005
На доске почёта ибо нех...
Join Date: Nov 2005
Posts: 73
Reputation:
Novice 1
Репутация в разделе: 0
0
Quote:
Originally Posted by netwind
Если поиск действительно важен, то надо ставить sphinx search.
Это отдельный индексирующий сервер. Плохо, что модификация продается как эксклюзив очень дорого - 2000$,
а обычный продукт на vb.org не такой понтовый.
Нет, я сам еще не ставил, но планирую когда-нибудь.
Спасибо. Не совсем удобно, поскольку теряется возможность работать с найденными темами и сообщениями. К примеру модераторам будет сложно удалять сообщения. Придется каждую тему обрабатывать отдельно (не будет функций выделить все и т. п.)
Или я не верно понимаю?
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
Насколько я вижу по коду, там (http://www.vbulletin.org/forum/showthread.php?t=127868) скопирован search.php,а в нем есть обращение к этому серверу и формируется такой же набор идентификаторов постов как и при обычном поиске. То есть, изменен только принцип формирования списка сообщений и должны работать вообще все обычные операции с поиском.
На практике, конечно, могут быть проблемы реализации. Подождем отзывов тех, кто действительно пробовал.
@Yoskaldyr
Специалист
Join Date: Jan 2007
Posts: 543
Версия vB: 4.0.x
Reputation:
Professional 556
Репутация в разделе: 255
0
Quote:
Originally Posted by netwind
Подождем отзывов тех, кто действительно пробовал.
пробовал. Там реальная проблема с сортировкой сообщений и с отбором когда в результате поиска совпадение как в заголовке так и в сообщении (тема дублируется в результатах поиска). Но пробовал довольно давно, так что не скажу осталось так в последней версии или нет
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
Решил попробовать.
Не вижу с сортировкой никакой проблемы. Зато есть проблема с кодировкой win-1251. Чего-то проиндексировалось, индексы гигантские, но ни форум, ни эталонный клиент test.php не находит текст на русском. Может я где-то в очевидном месте туплю?
@Pavel2005
На доске почёта ибо нех...
Join Date: Nov 2005
Posts: 73
Reputation:
Novice 1
Репутация в разделе: 0
0
Насколько я понял - про поиск "булки" лучше напрочь забыть? Или все же есть оптимальные варианты настройки поиска?
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
Для большой базы лучше забыть - скорость поиска даже несравнима с другими методами.
Если результатов много, то php потребляет много памяти чтобы обработать их.
@Yoskaldyr
Специалист
Join Date: Jan 2007
Posts: 543
Версия vB: 4.0.x
Reputation:
Professional 556
Репутация в разделе: 255
0
Quote:
Originally Posted by netwind
Не вижу с сортировкой никакой проблемы
Ну может что-то изменилось, пробовал раньше еще для 3.7 какую-то версию (кодировка utf была). Если все работает то это гут
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
1
Поскольку другой темы посвященной sphinx в 3.8 на форуме нет, продолжим.
Попробовал и получилось :
1. Индексы гигантские даже со стоп-словами - из 1.7 Гб постов получается 39 Гб индексов. Таким образом, полная перестройка индекса может занимать многие часы, но архитектура sphinx так сделана, что проблемы блокировки никакой нет. Нужно просто побольше места ( в 2 раза на две копии новую и старую)
2. Индексирование НЕ моментальное. По сути приходится держать два индекса - полный и delta.
Полное индексирования запускается в период низкой нагрузки, а delta насколько возможно часто. Благо, он довольно быстро строится.
Из-за этого могут получиться неприятные эффекты, если кто-то отредактировал старое сообщение и убрал искомые слова, но по поиску оно все равно будет находиться. Mysql fulltext в принципе не может работать с задержкой - как только удалили, индексы изменяются.
2. Поиск действительно бодрый.
3. Стемминг неплохо обрабатывает слова. Работает поиск со звездочк* . Считаю, качество ответа на поисковые запросы улучшилось.
4. Есть косметические глюки, типа поиск всех сообщений пользователя приводит к ошибке, которую все же можно без последствий подавить в коде через error_reporting(0) в includes/functions_search.php. Судя по vb.org, у всех так.
5. сама тема на орге здесь http://www.vbulletin.org/forum/showthread.php?t=127868&
хорошая конфигурация sphinx с учетом кодировок - http://www.vbulletin.org/forum/showp...&postcount=541
как создать таблицу-счетчик написано тут http://www.vbulletin.org/forum/showp...&postcount=387
вместо набивания плагинов вручную есть продукт http://www.vbulletin.org/forum/showp...&postcount=698
6. Если удалить обычный полнотекстовый индекс в mysql, то перестанут работать Похожие темы. Это возможно переделать на shpinx тоже, но пока никто не переделал.
7. И, наконец, для VB4 уже есть официальная модификация, хотя и без поддержки. Может, на самом деле пора использовать VB4.