Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1051 2015-10-29 18:36:19

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Сборка FluxBB 1.5.xx от Visman'а

Может какой регексп стоит придумать, чтобы не индексировать подобный мусор

Я только за, но надо правило разработать хотя бы на словах в виде алгоритма.

Offline

#1052 2015-10-29 18:53:39

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Сборка FluxBB 1.5.xx от Visman'а

@adsh, если нет мыслей с алгоритмом для построения регулярки, приму в дар 15-25 тыс слов мусора wink
Сам попытаюсь закономерность построить.

Offline

#1053 2015-10-29 19:00:39

adsh
Участник
Из Киев
Зарегистрирован: 2013-08-18
Сообщений: 61

Re: Сборка FluxBB 1.5.xx от Visman'а

По поводу заголовков. Та тема, в которой Вы искали, была создана путём вырезания в неё сообщений из другой темы. Если создать тему с совсем новым словом в заголовке, то её название индексируется через раз. Логики я пока не пойму.

Алгоритм - цифры индексировать только если в слове есть от двух букв, индексировать слова только от 2 букв и больше. Предлоги будут фильтроваться списком stop words. Довольно длинные слова и так не индексируются. Нужно подумать со спецсимволами, чтобы они не индексировались, но и слова с их содержанием находились.

Offline

#1054 2015-10-29 19:18:31

adsh
Участник
Из Киев
Зарегистрирован: 2013-08-18
Сообщений: 61

Re: Сборка FluxBB 1.5.xx от Visman'а

Visman пишет:

приму в дар 15-25 тыс слов мусора wink
Сам попытаюсь закономерность построить.

Выслал Вам для осмысления индексы двух форумов.

Offline

#1055 2015-10-29 19:19:42

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Сборка FluxBB 1.5.xx от Visman'а

По поводу заголовков. Та тема, в которой Вы искали, была создана путём вырезания в неё сообщений из другой темы. Если создать тему с совсем новым словом в заголовке, то её название индексируется через раз. Логики я пока не пойму.

Думаю стоит протестировать на более новой версии php и mysql копию форума.

цифры индексировать только если в слове есть от двух букв

Согласен, но сюда могут попасть 16-формат записи чисел и вся эта белиберда

6e5da470d13f94
6e762a647cbd
6e762a647cbdt
6e77994a0ead
6e77994a0eadt
6e8a4c6adb27

индексировать слова только от 2 букв и больше.

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

Нужно подумать со спецсимволами, чтобы они не индексировались, но и слова с их содержанием находились.

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

То есть было слово }{рен, в индексе оно станет рен.

Offline

#1056 2015-10-29 19:22:23

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Сборка FluxBB 1.5.xx от Visman'а

adsh пишет:

Выслал Вам для осмысления индексы двух форумов.

Хорошо. По изучаю на досуге.

Offline

#1057 2015-10-29 19:39:34

adsh
Участник
Из Киев
Зарегистрирован: 2013-08-18
Сообщений: 61

Re: Сборка FluxBB 1.5.xx от Visman'а

Visman пишет:

Согласен, но сюда могут попасть 16-формат записи чисел и вся эта белиберда

Тогда индексировать только цифры, перед которыми / после которых стоит дефис и в слове есть две буквы подряд. Или есть два дефиса с 2-3 цифрами подряд (телефоны). Сюда попадут:

Мухосранск-2

хим. названия (2,4-дихлор-3-нитрохрен-1-он)

и всё похожее

Visman пишет:

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

То есть было слово }{рен, в индексе оно станет рен.

Да - но тогда индексация "рен" не имеет смысла. Может стоит вообще не индексировать то, что содержит в себе спецсимволы.

Апостроф тоже как бы спецсимвол. Но в некоторых языках он как буква, скажем - английский и украинский (м'ясо). Кроме того, в украинском апостроф может быть вот такой "`" (косой).

Редактировался adsh (2015-10-29 22:32:36)

Offline

#1058 2015-10-30 15:04:51

lakki
Участник
Зарегистрирован: 2015-10-21
Сообщений: 145

Re: Сборка FluxBB 1.5.xx от Visman'а

Такое еще заметил, вот в названии темы есть слово "будет", и по нему не ищет. В базе тоже нету. Как то избирательно. Тут непонятно. Тема новая, после смены пхп на 5,5.

Похожая ситуация со словом "терапия". Как отдельное слово не находит, а как в составе слова к примеру "Лисотерапия" то находит. Это так и должно быть? Тема старая. При создании новой тоже не находит эту часть.

Также в названии старой темы есть слово ПриватБанк (и в базе как приватбанк), но находит только в самом посте. Хотя если создать новую тему, то ищет по заголовку темы только новую.

Редактировался lakki (2015-10-30 15:30:48)

Offline

#1059 2015-10-30 15:28:10

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Сборка FluxBB 1.5.xx от Visman'а

Такое еще заметил, вот в названии темы есть слово "будет", и по нему не ищет.

Это стоп слово. Стоп слова лежат в папках с языками в файлах stopwords.txt.

P.S. С пропажей слов пока не ясно. Мистика. Вопросом занимаюсь.

Offline

#1060 2015-10-30 15:36:45

lakki
Участник
Зарегистрирован: 2015-10-21
Сообщений: 145

Re: Сборка FluxBB 1.5.xx от Visman'а

@Visman, да, стоплист почистил, пусть пока пустой побудет. Остальное в сообщении подредактировал. Может поможет.
Еще заметил что некоторые новые темы находятся только когда перестраиваю индекс.
И к словам:
"спиногрыз" это часть слова, не находит
"спиногрыза" это полное слово, находит.

Редактировался lakki (2015-10-30 18:27:25)

Offline

#1061 2015-10-30 20:29:46

adsh
Участник
Из Киев
Зарегистрирован: 2013-08-18
Сообщений: 61

Re: Сборка FluxBB 1.5.xx от Visman'а

@Visman, я переиндексировал все свои форумы. Всё старое находится. По новым темам пока не ясно - мало статистики.

Offline

#1062 2015-10-31 07:30:54

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Сборка FluxBB 1.5.xx от Visman'а

И к словам:
"спиногрыз" это часть слова, не находит
"спиногрыза" это полное слово, находит.

А в проиндексированных словах есть слово "спиногрыз"? Или в них только слово "спиногрыза"?

Поисковый движок тут работает довольно примитивно. Для него эти слова различны. А вот если ввести в поисковую строку "спиногрыз*", то он найдет слово "спиногрыза".

Offline

#1063 2015-10-31 09:16:34

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Сборка FluxBB 1.5.xx от Visman'а

Так, ошибку с потерей индексации заголовков тем нашел.

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

Поправлю, выложу.

Offline

#1064 2015-10-31 10:49:27

lakki
Участник
Зарегистрирован: 2015-10-21
Сообщений: 145

Re: Сборка FluxBB 1.5.xx от Visman'а

@Visman, "спиногрыз" в базе нет и не находит, есть "спиногрыза" и его как раз находит. И вариант со звёздочкой тоже работает, но юзеры так искать не будут)
Ждем фикса.

Offline

#1065 2015-11-01 16:39:31

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Сборка FluxBB 1.5.xx от Visman'а

Перед обновлением в ОБЯЗАТЕЛЬНОМ порядке сделать полный бэкап базы форума и копию каталога форума!

При обновлении поисковый индекс будет полностью перестроен!

rev.71
commit https://github.com/MioVisman/FluxBB_by_ … fc2d228be2

1. Исправлен баг с потерей слов в поиске.
2. Обновлена функция построения поискового индекса (для уменьшения количества мусора в индексе).
3. Изменен мод подсветки слов в поиске.
4. Для старых стилей увеличен размер шрифта (кроме стиля Technetium)
5. Исправлен мелкий баг с подключением jQuery.
6. Применены тикеты #1041, #1046.

Offline

#1066 2015-11-01 17:44:08

lakki
Участник
Зарегистрирован: 2015-10-21
Сообщений: 145

Re: Сборка FluxBB 1.5.xx от Visman'а

@Visman, а подскажи как всё сделать вручную, просто столько уже изменений внесли в движок, что при обновлении по инструкции не всё вспомнить сможем. То что красное заменить на зелёное, а те файлы что не правили можно и вовсе весь код заменить, верно?

Редактировался lakki (2015-11-01 17:48:00)

Offline

#1067 2015-11-01 17:56:09

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Сборка FluxBB 1.5.xx от Visman'а

@lakki, свои правки нужно помнить и вносить повторно после обновления движка. Либо брать с github'а только изменения и вручную их вносить к себе в измененный код.

Либо использовать средства автоматизации по замене кода, но тут не подскажу так как я ими сам не пользовался.

Offline

#1068 2015-11-01 18:22:05

lakki
Участник
Зарегистрирован: 2015-10-21
Сообщений: 145

Re: Сборка FluxBB 1.5.xx от Visman'а

@Visman, такс, обновили, но поиск не заработал на примере тех же слов что и раньше. Переиндексацию делали в админке. Даже те же проблемные темы пробовали пересохранить.

Редактировался lakki (2015-11-01 18:42:46)

Offline

#1069 2015-11-01 18:53:18

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Сборка FluxBB 1.5.xx от Visman'а

@lakki, если речь о "спиногрыз" и "спиногрыза", то это я и не правил. Потому что это не ошибка, а особенность поискового движка данного форума.
Есть задумки на этот счет, но это не быстро.

Offline

#1070 2015-11-01 18:59:06

lakki
Участник
Зарегистрирован: 2015-10-21
Сообщений: 145

Re: Сборка FluxBB 1.5.xx от Visman'а

@Visman, речь о других целых словах, таких как (лисо) терапия, приват (банк). Забиваем то что не в скобках и не находит. Они есть в названиях темы. Так и должно быть?
Еще заметил что вот ищу по слово Фреймут, оно есть текстом в посте. Не находит. Поискал еще разу раз, и нашло на 3-4 попытку.

Редактировался lakki (2015-11-01 19:11:04)

Offline

#1071 2015-11-01 19:18:50

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Сборка FluxBB 1.5.xx от Visman'а

@lakki, я же писал, что если забили слово без звездочек, то ищет точное совпадение, т.е. "приват" найдет только такое же слово, а вот "приват*" найдет и приватизации, и ПриватБанк.

Читайте мое предыдущее сообщение и третье предложение в нем.

Offline

#1072 2015-11-01 19:19:45

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Сборка FluxBB 1.5.xx от Visman'а

@lakki, Фреймут нашел сразу и в двух постах tongue

Offline

#1073 2015-11-01 19:23:53

lakki
Участник
Зарегистрирован: 2015-10-21
Сообщений: 145

Re: Сборка FluxBB 1.5.xx от Visman'а

@Visman, на счет звёздочек понял, вопросов больше нет. Остальные аномалии еще будем отслеживать, как вот со словом фреймут. Точно знаю что вбивал, поиск не дал результатов, попробовал еще пару раз перед тем как сюда написать, и в последний раз нашло. Хотя тема создана несколько часов. За обновление сборки спасибо отдельно.

Offline

#1074 2015-11-01 20:11:52

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Сборка FluxBB 1.5.xx от Visman'а

_http://fluxbb.hol.es/img/members/2/StemmerPortera.7z

Архив с текстовым файлом, который содержит массив поисковых слов полученных на основании двух форумов (спасибо @adsh) обработанных стеммером Портера (извлечение корня из слов, без словаря) для русского языка.

Элементы массива - это корни полученные от стеммера. Элементы второго уровня это слова от которых шло вычисление.

Весь я его не просмотрел, слишком большой. Возможно есть неадекватности. Можете поискать, если не лень.

Вариантов его использования два:
1. При построении индекса поисковых слов, обрабатываем слова стеммером и записываем результат в таблицу поисковых слов. При поиске также обрабатываем введенные слова стеммером и ищем точное совпадение в таблице.

2. В этом варианте поисковый индекс строится без изменений, но введенные для поиска слова обрабатываются стеммером и поиск идет по частичному совпадению начал слов. Пример, ввели слово "опция" -> ищем слово "опц*".

P.S. Ну вот например не совсем адекватно

    [мер] => Array
        (
            [0] => меры
            [1] => мере
            [2] => мер
            [3] => мерил
            [4] => меряя
            [5] => мерой
            [6] => мера
            [7] => мерить
            [8] => мерили
            [9] => мерею
            [10] => мерами
            [11] => мерим
            [12] => меря
            [13] => мерите
            [14] => мерь
            [15] => мерился
            [16] => мериться
            [17] => мерий
            [18] => мерием
            [19] => мерию
            [20] => мерились
            [21] => мерия
            [22] => мерю
            [23] => мерии
            [24] => мерейте
            [25] => мери
            [26] => мером
            [27] => меры
            [28] => мере
            [29] => мера
            [30] => мерить
            [31] => мер
            [32] => мерой
            [33] => мером
        )

Offline

#1075 2015-11-02 01:01:51

adsh
Участник
Из Киев
Зарегистрирован: 2013-08-18
Сообщений: 61

Re: Сборка FluxBB 1.5.xx от Visman'а

@Visman, разгребая архив нашёл как сделать запрос для вычисления слов паразитов ещё для PunBB 1.x:

If you already have a forum setup with posts in your language, you can run a database query to determine what the most common words are in your forum. The query looks like this:

SELECT sw.word, COUNT(sm.post_id) AS hits FROM search_words AS sw INNER JOIN search_matches AS sm ON sw.id = sm.word_id GROUP BY sw.id ORDER BY hits DESC LIMIT 50

The query will display the 50 most common words currently in the forum. You can then use that list to determine what words should be included in the stopwords list. Please note that not all words in that list are stopwords. Some words might be very common even though they aren't stopwords.

Вот, что выводит сейчас (текущая сборка):

+-----------+-------+
| word      | hits  |
+-----------+-------+
| можно     | 10583 |
| просто    |  6384 |
| лучше     |  5354 |
| раз       |  5273 |
| нужно     |  4927 |
| про       |  4610 |
| больше    |  4481 |
| вообще    |  4426 |
| один      |  4041 |
| через     |  3645 |
| после     |  3618 |
| вопрос    |  3601 |
| кстати    |  3464 |
| этот      |  3430 |
| тогда     |  3401 |
| потом     |  3323 |
| стоит     |  3155 |
| время     |  3147 |
| думаю     |  3059 |
| именно    |  3052 |
| много     |  3024 |
| конечно   |  3014 |
| сделать   |  3006 |
| например  |  2936 |
| усилитель |  2885 |
| ток       |  2867 |
| случае    |  2827 |
| хорошо    |  2773 |
| тока      |  2695 |
| делать    |  2690 |
| работает  |  2682 |
| усилителя |  2514 |
| знаю      |  2504 |
| дело      |  2463 |
| нас       |  2418 |
| которые   |  2410 |
| звук      |  2400 |
| умзч      |  2394 |
| меньше    |  2393 |
| 100       |  2376 |
| питания   |  2365 |
| два       |  2363 |
| несколько |  2289 |
| могу      |  2274 |
| выходе    |  2230 |
| имеет     |  2214 |
| ведь      |  2164 |
| теперь    |  2140 |
| схема     |  2134 |
| правда    |  2123 |
+-----------+-------+
50 rows in set (52.24 sec)

Это - при лимите 50. Если увеличить - там ещё больше мусора.

Редактировался adsh (2015-11-02 01:36:15)

Offline

Подвал доски

Под управлением FluxBB. Хостинг Hostens