Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Что делать с поиском форума? [2]
ТвойWeb » » ExBB Full Mods » Что делать с поиском форума?

Страниц (9): « 1 [2] 3 4 5 6 7 8 9 »
 

11. Alone - 28 Января, 2007 - 14:30:52 - перейти к сообщению
Ray Wen пишет:
но другого ничего на файлах не придумать

Крон ещё можно
12. TvoyWeb - 29 Января, 2007 - 04:40:39 - перейти к сообщению
Валерий пишет:
2. Без создания базы

Нет так не выйдет. Даже у тебя в скрипте который я тебе писал, за счет того что ведется поиск, в базе поле, по которым идет поиск, проиндексированны. А это значит что база несколько увеличивается в отличии от базы если бы поля не были индексными.
Ray Wen пишет:
выводилась инфа о том что ему нельзя закрывать страницу и нужно подождать

Собственно используя Ajax можно и не просить пользователя делать это. Я так думаю Улыбка. Потому как запросом аякса запускается скрипт и он начинает работать. При закрытии окна или при переходе на другую страницу остановка работы скрипта индексации не произойдет.
13. Alone - 29 Января, 2007 - 04:47:22 - перейти к сообщению
TvoyWeb пишет:
остановка работы скрипта индексации не произойдет.

Но незаметно несколько сотен килобайт у него на траффе намотается... тоже не очень то приятно получить такую "неожиданность".
14. Ray Wen - 29 Января, 2007 - 08:40:30 - перейти к сообщению
Alone
С чего вдруг?
15. Alone - 29 Января, 2007 - 08:52:42 - перейти к сообщению
Ray Wen пишет:
С чего вдруг?

Ну так индексация она же требует потребления траффика. Насколько я знаю создаётся огромная база данных (если форум большой).
При Ajax-е видно не будет.
16. Ray Wen - 29 Января, 2007 - 10:01:29 - перейти к сообщению
Alone
Ну не будет выводиться инфа о индексации и все...
17. Alone - 29 Января, 2007 - 10:23:14 - перейти к сообщению
Ray Wen пишет:
Ну не будет выводиться инфа о индексации и все...

Ну я не знал что так можно Улыбка
Т.е. просто команда на выполнение.
Но всё равно крон лучше.
18. TvoyWeb - 29 Января, 2007 - 23:53:32 - перейти к сообщению
Вобщем я тут подумал, поэкспериментировал и есть один вариант.

Но индексировать, хотя бы один раз, если форум не новый, придется. В дальнейшем индексация не понадобится.
Смысл в следующем. Берем все посты темы, склеиваем их в один текст и каленным железом вырезаем оттуда все цитаты (они не нужны, так как 95% это цитирирование предыдущих постов и эти цитаты просто увеличат размер индексной базы), квотирование любых кодов (так как в обычном поиске они тоже вырезаются), вставки тегов img, url (не трогаем текст в теге если он есть). Далее вырезаем просто теги b.u.i center и все такое. Вырезаем вставки смайлов, слова меньше 3 символов и все символы кроме букв и цифр. Это значительно сократит индексную базу и время поиска.

Например индексация всего этого форума на котором
Цитата:
Сообщений: 50521
Тем: 4482

с вырезкой только слов короче 3 символов и вырезкой не буквенных и не численных символов заняла 7 сек. Поиск по такому индексу во всех разделах словосочетания "список матерных слов" (точное совпадение фразы) занял примерно 0.3 сек и выдал один единственный точный результат со всего форума. Поиск с той же фразой, но с учетом того что искалось любое слово из фразы, занял 1.39 и выдал 1021 результат.
Размер базы индекса при этом составлял 13024 kb, тогда как база старого поиска занимает 21020kb. Но в новой базе не вырезаны цитаты. коды и все такое... То есть размер базы уменьшится еще и возможно уменьшится скорость поиска.
При старой индексации в индекс заносились только уникальные слова темы. то есть повторения удалялись. В принципе в моем варианте можно сделать то же самое. Опять же уменьшиться индекс процентов на 30-40 (с цифрами могу ошибаться, надо проверять).

Какие плюсы у этого поиска?
Не нужно постоянно индексировать поиск. Переиндексация темы будет производиться с любым изменением темы (удаление, создание ответа, перенос постов, редактироование). Новый индекс для темы будет создаваться при создании темы.
при поиске можно задавать несколько опций:
1. Искать фразу целиком
2. Искать точное вхождение любого из слов фразы (ищем "город" получаем "город" )
3. Искать неточное сопадение слов из фразы (ищем "город" получаем "городок" и "пригородный" )
В старом поиске следовать точно выполнять эти правила не получалось. Либо так либо так при разных схемах индексации.
Появится возможность вывода не всего списка найденных тем, а по определенному кол-чу на страницу.
Пока точно не знаю, но возможно получится выводить темы отсортированными по дате последнего сообщения, или по дате создания темы (это точно пока не знаю, не пробовал Улыбка )

Какие минусы? Минус пожалуй один, это скорость поиска. В отличии от старого поиска (хотя честно говоря я никогда не смотрел сколько время занимал старый поиск) медленне раза в два. возможно чуть больше.
Отсюда продолжение минуса, поиск на больших форумах как этот лучше вести по разделам. Для небольших форумов поиск по всем разделам никак не скажется на скорости работы.

Но в случае если использовать новый вариант поиска, глюков железно будет намного меньше, если совсем их не будет Улыбка.

Сегодня попробую сделать это на нашем форуме и посмотрим что получится.

Жду высказываний и предложений по существу, возможно кто-то предложит что-то для ускорения работы поиска.
19. Alone - 30 Января, 2007 - 01:44:47 - перейти к сообщению
Ещё полезная вещь "поиск по заголовкам тем".
Здесь вообще может быть всё намного быстрее.
И часто только это и нужно, то есть найти слово в названии темы.
Название темы занимает мало места чем посты... поэтому скорость и вес базы может быть меньше....
вот.
20. TvoyWeb - 30 Января, 2007 - 03:31:48 - перейти к сообщению
Alone пишет:
Ещё полезная вещь "поиск по заголовкам тем".

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

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

Аууу что кроме Alone и Ray Wen никому это больше не нужно?!!

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0368]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33