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

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

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

Strict Standards: Resource ID#27 used as offset, casting to integer (27) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Что делать с поиском форума? [2]
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


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

> Описание: Обсуждение механизма поиска новой версии форума
Alone
Отправлено: 28 Января, 2007 - 14:30:52
Post Id



Super Member


Покинул форум
Сообщений всего: 2393
Дата рег-ции: Дек. 2004  

Карма 8




Ray Wen пишет:
но другого ничего на файлах не придумать

Крон ещё можно
 
 Top
TvoyWeb Администратор
Отправлено: 29 Января, 2007 - 04:40:39
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Валерий пишет:
2. Без создания базы

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

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



Super Member


Покинул форум
Сообщений всего: 2393
Дата рег-ции: Дек. 2004  

Карма 8




TvoyWeb пишет:
остановка работы скрипта индексации не произойдет.

Но незаметно несколько сотен килобайт у него на траффе намотается... тоже не очень то приятно получить такую "неожиданность".
 
 Top
Ray Wen Администратор
Отправлено: 29 Января, 2007 - 08:40:30
Post Id



Собиратель шишек...


Покинул форум
Сообщений всего: 2602
Дата рег-ции: Янв. 2005  
Откуда: Волгоград

Карма 21




Alone
С чего вдруг?
 
 Top
Alone
Отправлено: 29 Января, 2007 - 08:52:42
Post Id



Super Member


Покинул форум
Сообщений всего: 2393
Дата рег-ции: Дек. 2004  

Карма 8




Ray Wen пишет:
С чего вдруг?

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



Собиратель шишек...


Покинул форум
Сообщений всего: 2602
Дата рег-ции: Янв. 2005  
Откуда: Волгоград

Карма 21




Alone
Ну не будет выводиться инфа о индексации и все...
 
 Top
Alone
Отправлено: 29 Января, 2007 - 10:23:14
Post Id



Super Member


Покинул форум
Сообщений всего: 2393
Дата рег-ции: Дек. 2004  

Карма 8




Ray Wen пишет:
Ну не будет выводиться инфа о индексации и все...

Ну я не знал что так можно Улыбка
Т.е. просто команда на выполнение.
Но всё равно крон лучше.
 
 Top
TvoyWeb Администратор
Отправлено: 29 Января, 2007 - 23:53:32
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Вобщем я тут подумал, поэкспериментировал и есть один вариант.

Но индексировать, хотя бы один раз, если форум не новый, придется. В дальнейшем индексация не понадобится.
Смысл в следующем. Берем все посты темы, склеиваем их в один текст и каленным железом вырезаем оттуда все цитаты (они не нужны, так как 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. Искать неточное сопадение слов из фразы (ищем "город" получаем "городок" и "пригородный" )
В старом поиске следовать точно выполнять эти правила не получалось. Либо так либо так при разных схемах индексации.
Появится возможность вывода не всего списка найденных тем, а по определенному кол-чу на страницу.
Пока точно не знаю, но возможно получится выводить темы отсортированными по дате последнего сообщения, или по дате создания темы (это точно пока не знаю, не пробовал Улыбка )

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

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

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

Жду высказываний и предложений по существу, возможно кто-то предложит что-то для ускорения работы поиска.
 
 Top
Alone
Отправлено: 30 Января, 2007 - 01:44:47
Post Id



Super Member


Покинул форум
Сообщений всего: 2393
Дата рег-ции: Дек. 2004  

Карма 8




Ещё полезная вещь "поиск по заголовкам тем".
Здесь вообще может быть всё намного быстрее.
И часто только это и нужно, то есть найти слово в названии темы.
Название темы занимает мало места чем посты... поэтому скорость и вес базы может быть меньше....
вот.
 
 Top
TvoyWeb Администратор
Отправлено: 30 Января, 2007 - 03:31:48
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Alone пишет:
Ещё полезная вещь "поиск по заголовкам тем".

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

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

Аууу что кроме Alone и Ray Wen никому это больше не нужно?!!
 
 Top
Страниц (9): « 1 [2] 3 4 5 6 7 8 9 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« ExBB Full Mods »


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



Форум на AlfaSpace.NET


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

[Script Execution time: 0.0458]     [ 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