Уважаемые пользователи!
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. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Jovani
phpBB 2.0.5
Сообщения: 477
Зарегистрирован: 20 лет

Сообщение Jovani »

natali писал(а):у кого есть хороший search_stopwords.txt
А разве такой бывает?
То, что хорошо одному, может не устраивать другого ...
Аватара пользователя
natali
phpBB 2.0.1
Сообщения: 293
Зарегистрирован: 18 лет 11 месяцев
Откуда: Киев

Сообщение natali »

Jovani
бывает, только не все верят (с) Тайна третьей планеты

Русские предлоги, междометия, слова-паразиты, союзы и проч... А под свои потребности каждый может сам натюнить ))
Jovani
phpBB 2.0.5
Сообщения: 477
Зарегистрирован: 20 лет

Сообщение Jovani »

Сегодня нашел интересный код, которого так не хватает в phpBB для русскоязычных форумов.

Эвристическое (без словаря) извлечение корня из русского слова:
http://forum.dklab.ru/php/advises/Heuri ... nWord.html

Думаю, что для больших форумов будет весьма полезен.
Во сяком случае, поиск будет не только удобнее, но и несколько облегчен, за счет сокращения поисковых таблиц.

Что скажете?
Собираюсь себе прикрутить ....
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Кстати, Olympus кроме использования аналогичного с 2.0.х механизма поиска может также использовать полностекстовый поиск средствами MySQL.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Admin_777
phpBB 1.4.4
Сообщения: 190
Зарегистрирован: 18 лет 6 месяцев
Откуда: Moscow

Сообщение Admin_777 »

natali писал(а):А под свои потребности каждый может сам натюнить ))
Чтобы тюнить под свои потребности, нужно иметь мезанизмы для анализа слов в базе. Вот я давно спрашивал: "Как получить таблицу слов на форуме с их количеством?". Ответа не было. :(

А было бы очень полезно увидеть, к примеру такое:
привет - 12022
пришел - 129
прошел - 192

Сразу ясно, что слово "привет" напрашивается в черный список. И искать его смысла нет и место можно экономить эффективно.

Может все-таки кто знает такой мод или MySQL запрос?
Kastaneda
Former team member
Сообщения: 702
Зарегистрирован: 19 лет 7 месяцев

Сообщение Kastaneda »

Admin_777 писал(а):Как получить таблицу слов на форуме с их количеством?
Может быть так?

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

SELECT ls.word_id, ls.word_text, COUNT(wm.word_id) as entries FROM `fack_you__search_wordlist` as ls LEFT JOIN `fack_you__search_wordmatch` as wm ON ls.word_id=wm.word_id GROUP BY wm.word_id ORDER BY entries DESC LIMIT 0,50
Аватара пользователя
Admin_777
phpBB 1.4.4
Сообщения: 190
Зарегистрирован: 18 лет 6 месяцев
Откуда: Moscow

Сообщение Admin_777 »

Попробую. Правильно ли я понял, что подобные фразы:
fack_you__search_wordmatch
надо поменять на phpbb_search_wordmatch (что по умолчанию) ???

Это я больше для пояснения спросил. Запрос работает. Большое спасибо!!!!! Побег анализировать и тюнить.

Добавлено спустя 5 минут 52 секунды:

Ну ваще! То, что надо.
Сразу нашел кучу паразитов, которых почти под 10 тысяч развелось:
можно, нужно, тут, надо, еще.

КРУТА!!!
Jovani
phpBB 2.0.5
Сообщения: 477
Зарегистрирован: 20 лет

Сообщение Jovani »

Кто-то тут заверял, что "недопустимые" слова не попадают в поисковые таблицы.
Попробуйте:

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

<?php

$entry = 'Наглядно - одна э из причин попадания “левых“ слов в в поисковые таблицы ну пробуембольшоетестовоеслово и ddadadahahahahahahahahaha ho-hoh-ohhhhhhh-ooo-h-o а теперь мелкие »»» и и и еще во во во-т таких ’много ”много”... ;)'; 

// Далее код выдранный из phpBB
static $drop_char_match =   array('^', '$', '&', '(', ')', '<', '>', '`', '\'', '"', '|', ',', '@', '_', '?', '%', '-', '~', '+', '.', '[', ']', '{', '}', ':', '\\', '/', '=', '#', '\'', ';', '!');
static $drop_char_replace = array(' ', ' ', ' ', ' ', ' ', ' ', ' ', '',  '',   ' ', ' ', ' ', ' ', '',  ' ', ' ', '',  ' ',  ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' , ' ', ' ', ' ', ' ',  ' ', ' ');
$entry = ' ' . strip_tags(strtolower($entry)) . ' ';
	
		// Replace line endings by a space
		$entry = preg_replace('/[\n\r]/is', ' ', $entry); 
		// HTML entities like &nbsp;
		$entry = preg_replace('/\b&[a-z]+;\b/', ' ', $entry); 
		// Remove URL's
		$entry = preg_replace('/\b[a-z0-9]+:\/\/[a-z0-9\.\-]+(\/[a-z0-9\?\.%_\-\+=&\/]+)?/', ' ', $entry); 
		// Quickly remove BBcode.
		$entry = preg_replace('/\[img:[a-z0-9]{10,}\].*?\[\/img:[a-z0-9]{10,}\]/', ' ', $entry); 
		$entry = preg_replace('/\[\/?url(=.*?)?\]/', ' ', $entry);
		$entry = preg_replace('/\[\/?[a-z\*=\+\-]+(\:?[0-9a-z]+)?:[a-z0-9]{10,}(\:[a-z0-9]+)?=?.*?\]/', ' ', $entry);
		
		
	//
	// Filter out strange characters like ^, $, &, change "it's" to "its"
	//
	for($i = 0; $i < count($drop_char_match); $i++)
	{
		$entry =  str_replace($drop_char_match[$i], $drop_char_replace[$i], $entry);
	}
	
	$entry = str_replace('*', ' ', $entry);
	$entry = preg_replace('/[ ]([\S]{1,2}|[\S]{21,})[ ]/',' ', $entry);

echo $entry;
echo '<br><br>Хотите примеров - их есть у меня :)';
?>
Добавлено спустя 26 минут 3 секунды:
Admin_777 писал(а):Вот я давно спрашивал: "Как получить таблицу слов на форуме с их количеством?". Ответа не было.
Ты плохо искал.
Эти ответы опубликованы:
http://www.phpbbguru.net/community/viewtopic.php?t=440
Аватара пользователя
IGO
phpBB 2.0.1
Сообщения: 297
Зарегистрирован: 19 лет

Сообщение IGO »

1. Поставил МОД

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

## MOD Title: reindex_mod
## MOD Author: Atrus2 < lrngate@yandex.ru > (N/A) N/A
## MOD Description: This mod will cleanup and rebuild your serach tables.
## MOD Version: 1.0.1
##
## Installation Level: Easy
## Installation Time: 2 Minutes
2. Поставил Ё-мод.
3. Скинул листы синонимов и стоп в папку ../language (что наверное неверно)
А индексация не идёт. Стоит в подвешеном состоянии и всё.
Переиндексирование


0% 0% 0%
Закончится через: n/a
0%

Обработано 0/25462 записей.
Количество запросов: 0. Текущий post_id: 2

Нажмите, если страница не начнёт перезагружаться автоматически, через 1 сек.

Powered by phpBB 2.0.18 © 2001 phpBB Group
:(

Добавлено спустя 23 секунды:

И вот ещё, как почистить таблицы?

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

Максимальное время исполнения скрипта (сек) - 3000
Резерв времени (сек) - 5
Количество записей (шт.) - 2
Период обновления (сек) - 1

В таблице phpbb_search_wordlist более 60000 записей :?
Терпение и труд - всё перетрут
Я на этом форуме уже чуть больше года.. спасибо вам за помощь!
Jovani
phpBB 2.0.5
Сообщения: 477
Зарегистрирован: 20 лет

Сообщение Jovani »

IGO
Уж не об этом ли моде речь:
http://www.phpbbguru.net/community/view ... 1197#11197
IGO писал(а):И вот ещё, как почистить таблицы?
Почистить от чего?
Если от всех записей, то можно через phpMyAdmin.
Аватара пользователя
IGO
phpBB 2.0.1
Сообщения: 297
Зарегистрирован: 19 лет

Сообщение IGO »

Нет. О Reindex MOD
Терпение и труд - всё перетрут
Я на этом форуме уже чуть больше года.. спасибо вам за помощь!
Jovani
phpBB 2.0.5
Сообщения: 477
Зарегистрирован: 20 лет

Сообщение Jovani »

IGO тогда это к автору мода, для переиндексации, я использовал другой.

Попробуй закинуть в корень и выполнить этот скрипт
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
IGO
phpBB 2.0.1
Сообщения: 297
Зарегистрирован: 19 лет

Сообщение IGO »

Jovani, закинул в корень и выполнил. И как узнать что подействовало?

Добавлено спустя 16 минут 53 секунды:

Я вот ещё не совсем понимаю, что делать с search_stopwords.txt и search_synonyms.txt :?
Просто закинуть в папку /language/ :?
Терпение и труд - всё перетрут
Я на этом форуме уже чуть больше года.. спасибо вам за помощь!
Jovani
phpBB 2.0.5
Сообщения: 477
Зарегистрирован: 20 лет

Сообщение Jovani »

IGO писал(а):закинул в корень и выполнил. И как узнать что подействовало?
Должен отображаться процесс переиндексации.
Если у тебя никаких сообщений, это не правильно - разбирайся.
IGO писал(а):что делать с search_stopwords.txt и search_synonyms.txt
Закинуть их в директорию /language/lang_russian/ или в соответствующего языка.
Аватара пользователя
Admin_777
phpBB 1.4.4
Сообщения: 190
Зарегистрирован: 18 лет 6 месяцев
Откуда: Moscow

Сообщение Admin_777 »

Jovani писал(а):Ты плохо искал.
Эти ответы опубликованы:
http://www.phpbbguru.net/community/viewtopic.php?t=440
Спасибо, нашел в этой теме много чего полезного. Жаль, что не тогда, когда это было очень актуально. Но лучше позже, чем никогда :)
К тому же данный скрипт там так закомуфлирован, что даже зная чего искать, не сразу обнаружил. Здесь же все в одном месте. Пусть и будет.

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