Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Тюним поиск

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
atrus

Тюним поиск

Сообщение atrus »

Представляю вашему вниманию несколько мелких модов:
1) reindex_mod - аналог мода "Rebuild Search Mod". Отличается, от него тем, что чуть более настраиваем, содержит обработку ошибок, запоминает настройки, при переиндексации отображает progressbar :) и считает сколько времени осталось. Для больших баз.
2) yo_mod - заставляет встроенный поисковик phpBB не делать различий между "е" и "ё". А то - одни её пишут, другие нет... ;-)
3) Русские файлы со списком стоп-слов и "синонимов". Для владельцев русско-английских форумов есть русско-английская версия файлов (слитая, с исключёнными повторами).

Файлы
reindex_mod: reindex_mod-101.zip
yo_mod: yo_mod-102.txt
список слов: word_list.zip

Новьё. По просьбе O - мод nosearch_mod. После его установки никаких записей в поисковые таблицы добавляться не будет. Для тех форумов, которым не нужен поиск. По соображениям безопасности мод сам не очищает поисковые таблицы: phpbb_search_results, phpbb_search_wordlist и phpbb_search_wordmatch.
После установки ещё возможен поиск сообщений по имени пользователя, т.к. они во первых не привязываются к поисковым таблицам, а во вторых нужны в другом месте. Желающие могут вычистить ссылки на serach.php из шаблонов.
nosearch-100.txt
Последний раз редактировалось atrus 22.04.2005 21:11, всего редактировалось 5 раз.
Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
Сообщения: 7522
Зарегистрирован: 20 лет 1 месяц
Откуда: СССР
Благодарил (а): 5 раз
Поблагодарили: 105 раз

Сообщение Mr. Anderson »

atrus
Очень интересно. Reindex MOD вижу... А Ё? :) Где искать?
atrus

Сообщение atrus »

Всё в одном архиве. Оно же к одному относится.
P.S. На следующей неделе планирую инкрементальный бэкап базы делать. Это к нему приквел, что бы 70% поисковых таблиц сразу не сейвить... :)
Аватара пользователя
Balamut
Former team member
Сообщения: 2213
Зарегистрирован: 19 лет 1 месяц
Откуда: {postrow.POSTER_FROM}
Поблагодарили: 105 раз

Сообщение Balamut »

reindex_body.tpl - сильно уж он этот файлик хочет... А в арихе я его не наблюдаю...
//
// That's all, Folks!
// -------------------------------------------------
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Зарегистрирован: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

По поводу Ё-мода:
Супер! Мне очень понравился. Только хотелось бы вынести его в отдельно от других модов, дабы не затерялся. И еще сделать совместимым с EasyMod :wink:

Предлагаю заменить строчки:

Код: Выделить всё

#
#-----[ OPEN ]------------------------------------------
#
includes/function_search.php

#
#-----[ FIND ]------------------------------------------
#

	static $drop_char_match =   array('^', '$', '&', '(', ')', '<', '>', '`', '\'', '"', '|', ',', '@', '_', '?', '%', '-', '~', '+', '.', '[', ']', '{', '}', ':', '\\', '/', '=', '#', '\'', ';', '!');

#
#-----[ BEFORE, ADD ]------------------------------------------
#
	// Begin modification, maded by Yo mod
	define(LOC_E, strtolower('е'));
на

Код: Выделить всё

#
#-----[ OPEN ]------------------------------------------
#
includes/functions_search.php

#
#-----[ FIND ]------------------------------------------
#
function clean_words($mode, &$entry, &$stopword_list, &$synonym_list)
{

#
#-----[ AFTER, ADD ]------------------------------------------
#
	// Begin modification, maded by Yo mod
	define(LOC_E, strtolower('е'));
P.S. Список стоп-слов тоже порадовал. Очень пригодится для модуля Top words к моду Board Statistics.
atrus

Сообщение atrus »

Smayliks писал(а):reindex_body.tpl - сильно уж он этот файлик хочет... А в арихе я его не наблюдаю...
*хлопает себя по лбу* Как чувствовал, что чего-то забыл! ;-)
Ну, ничего, я как раз пару ошибок нашёл :oops: - завтра к обеду всё будет.
Аватара пользователя
Balamut
Former team member
Сообщения: 2213
Зарегистрирован: 19 лет 1 месяц
Откуда: {postrow.POSTER_FROM}
Поблагодарили: 105 раз

Сообщение Balamut »

atrus писал(а):*хлопает себя по лбу* Как чувствовал, что чего-то забыл! ;-)
Ну, ничего, я как раз пару ошибок нашёл :oops: - завтра к обеду всё будет.
Ну ничего, подождём. ;-)
//
// That's all, Folks!
// -------------------------------------------------
atrus

Сообщение atrus »

fixed. Всё, что просили. Обновлены ссылки в первом посте.
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Зарегистрирован: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

Очень приятный мод реиндексирования. Непонятен комментарий $lang['Reindex_amount_explain']. По умолчанию стоит 300, а рекомендовано 1-2 :roll:
atrus писал(а):На следующей неделе планирую инкрементальный бэкап базы делать. Это к нему приквел, что бы 70% поисковых таблиц сразу не сейвить...
Инкрементальный - это все таблицы с префиксом phpbb кроме поисковых? Было бы неплохо иметь мод extralight backup + complete backup :)

Добавлено спустя 45 минут 37 секунд:
Если переиндексация будет прервана вы должны будете либо начать её заново, либо разблокировать форумы через меню "Конфигурация".
В случае, когда переиндексация прерывается, форумы остаются заблокированными. Если после этого произвести реиндексацию они снова окажутся заблокированными.
DedPichto
phpBB 1.4.4
Сообщения: 104
Зарегистрирован: 19 лет 2 месяца

Сообщение DedPichto »

Разрешите справочку. Это если залить стоп-вордс и синонимы и запустить переиндексацию, размер базы в целом может в теории уменьшиться? :)
atrus

Сообщение atrus »

DedPichto писал(а):Это если залить стоп-вордс и синонимы и запустить переиндексацию, размер базы в целом может в теории уменьшиться? :)
Да, т.к. они не войдут в поисковые таблицы. Но насколько он уменьшится реально я не замерял... ;-)
Coagulant писал(а):По умолчанию стоит 300, а рекомендовано 1-2
Там не так написано: "Линейно влияет на "Запросов постов"" - вот кого надо удерживать на 1-2. Эта величина выводится непосредственно в процессе переиндексации. Смысл такой: При каждом цикле из базы делается не полная выборка постов, а только по стольку указано в amount. Если вся выборка отработана, а время ещё есть - начинается новый цикл сразу. Т.е. ещё выбирается amount записей...
Так вот, сколько было выборок (а не полных отработок!) за цикл показывается в "Запросов постов". Почему на 1-2. Потому что это гарантированная отработка одного цикла. Т.е. - идеал это, когда пишет, что один и изредка проскакивает - 2. :)
Плохости: Если amount маленький, то больше работы скрипту, который дёргает циклы выборки.
Если - большой, то если база находится на другом компе может тратится драгоценное время на передачу лишних данных по сети.
Но, положа руку на сердце - для типичного случая (база на одном компе с php) играя этим параметром на базе из 1600 постов я с 1 мин 30 сек получил выигрыш в скорости не более 3 секунд... ;-)
P.S. Если это кто получше опишет - вставлю в мод. ;-)
Coagulant писал(а):Инкрементальный - это все таблицы с префиксом phpbb кроме поисковых? Было бы неплохо иметь мод extralight backup + complete backup :)
Типа того. Я сейчас изучаю этот вопрос. Похоже можно ещё ужаться. Т.к. в списке постов хранится дата поста и время последнего редактирования, то можно ещё и отбрасывать посты, неизменившиеся со времени последнего бекапа. Ну и локальная утилитка для слияния бекапов... ;-)
Coagulant писал(а):В случае, когда переиндексация прерывается,
Это вопрос или предложение изменить описание? ;-)
DedPichto
phpBB 1.4.4
Сообщения: 104
Зарегистрирован: 19 лет 2 месяца

Сообщение DedPichto »

atrus писал(а):Да, т.к. они не войдут в поисковые таблицы. Но насколько он уменьшится реально я не замерял...
Ну могу предоставить некоторые данные :)

Дано: база 94.35 метров. Заливаем синонимы и стоп-слова, переиндексируем (другим модом, не вашим). Результат: база весит 84.10 метров. Можно сказать, 10% чистой прибыли :)
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Зарегистрирован: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

atrus писал(а):Это вопрос или предложение изменить описание?
Это сообщение с размышлению. Равно как и комметарий по поводу непонятности $lang['Reindex_amount_explain']. Спасибо, за подробное обхяснение, кстати :)

Еще момент по поводу стоп-слов. Действительно ли для большого форума он актуален? Мне показалось что часть откровенно надуманна, однобуквенные слова например :shock: Кстати, можно написать мод, для составления такого списка автоматически :idea:
atrus

Сообщение atrus »

Coagulant писал(а):однобуквенные слова например
Не имеет смысла индексировать те вещи, которые заведомо нельзя использовать в качестве ключевых слов. Однобуквенных это касается. Кстати, в популярные списки стоп-слов однобуквенные предлоги входят. :roll:
Форумы, для которых это исключение - откровенно редки.
Coagulant писал(а):Кстати, можно написать мод, для составления такого списка автоматически
Он уже встроен. Движок автоматически исключает слова, ставшие слишком популярными. Я же писал с сопроводиловке - не имеет смысла использовать в качестве ключевых, слова, которые есть в 2/3 постов. Так что предопределённые списки - это всего лишь сокращение поисковику работы. Он заранее не индексирует то, что потом потребуется выкинуть... ;-)
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Зарегистрирован: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

1) Не слышал про однобуквенные предлоги к,л,м,н,п
2) Речь о выявлении чуть менее частовстречающихся слов, которые не несут смысла: надо lol можно очень там про просто вообще хотя всё кстати тоже тут даже чтото без вроде ничего и т.д.

Добавлено спустя 1 минуту 38 секунд:

P.S. Смешно слова в строчку вяглядят :) В основном слова-паразиты

Вернуться в «Бета-версии модов для phpBB 2.0.x»