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 :: Версия для печати :: Что делать с поиском форума? [6]
ТвойWeb » » ExBB Full Mods » Что делать с поиском форума?

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

51. Леголегс - 15 Февраля, 2007 - 11:55:40 - перейти к сообщению

SviMik пишет:
Например я делаю заголовок файла, в котором сериализованный массив, где указана длинна каждой записи. Длинна заголовка также указывается в самом начале файла. Получается своя независимая файловая система
Да я в курсе что ты велосипедостроитель великий Улыбка Такое имеет смысл если записи длиннее чем многочисленнее (надо протолкнуть такую конструкцию в стандарт русского языка, уж очень удобная Улыбка ) для базы поиска не вариант, заголовок будет на 5-10 % файла.
52. cosc - 16 Февраля, 2007 - 15:17:23 - перейти к сообщению
Леголегс пишет:
для базы поиска не вариант, заголовок будет на 5-10 % файла.

В случае с с ортировкой можно реализовть подобное, все пехнуть в 1 файл и в начале заголовок, тут начинается все относящееся к букве А, тут к букве Б и т д....
53. Леголегс - 17 Февраля, 2007 - 02:05:11 - перейти к сообщению
cosc
А добавлять записи как?
54. cosc - 17 Февраля, 2007 - 02:58:31 - перейти к сообщению
Леголегс
SviMik пишет:
А fseek() + fread() (имеется ввиду именно частичное чтение\запись) всяко быстрее

Если я правильно понял SviMik то так же как читать так же можно и добавлять, только насчет записи я несколько сомневаюсь, что это будет быстрее, хотя сложно сказать.... Ведь в случае с записью файловая система сервера после изменения одной записи будет вынуждена сдвинуть вниз весь нижеследующий файл, а для большого файла этой должно занять прилично времени....
В этой ситуации возможно компромиссом будет как я предлагал выше: Разбить на файлы по первой букве слова, и каждый файл разделить на части по второй букве слова. Тут и файлы будут среднего размера и искать надо будет не по всему файлу, а по совсем маленькой его части....
55. Леголегс - 17 Февраля, 2007 - 04:58:04 - перейти к сообщению
cosc
Это ещё сильно повезёт, если отыщется функция finsert() а скорее всего будет только fwrite() которая пишет поверх, а "растягивать" файл придётся вручную.
56. TvoyWeb - 20 Февраля, 2007 - 02:00:12 - перейти к сообщению
От чего хотели уйти к тому и приходим. В Risearch именно то о чем вы сейчас говорите.
Тогда отсается просто вернуть его и все. Пока мне в голову больше ничего не лезет.
57. TvoyWeb - 20 Февраля, 2007 - 23:32:15 - перейти к сообщению
Я до конца так и не разобрался с Risearch, но там практически то же самое что вы все предлагаете. за исключением того что там все это дело упаковывается и в fseek передаются значения согласно упаковке поискового слова.
Собственно можно оставить этот скрипт, поправив его баги. Но полноценного поиска не получится. О причинах я писал в самом начале этой темы.
К варианту поиска по тексту всей темы я обратился только из-за более точного поиска, нежели в Risearch.
Вобщем надо думать.
58. cosc - 21 Февраля, 2007 - 09:50:57 - перейти к сообщению
TvoyWeb пишет:
В Risearch именно то о чем вы сейчас говорите.

Что и сортировка там есть? Надо же, значит идея неплохая...
Перечитал 1 пост темы. Если я правильно понял, у Risearch два главных недостатка:
1. Неточный поиск.
2. Невозможность добавления туда слов при ответах или редактировании постов.
В принципе наверно можно эти недостатки исправить, только не знаю насколько реально это все будет реализовать на пхп...
1. Насчет неточного поиска ну тут надо просто подправить его, что бы он в базу ложил не целые темы, а разделял их на конкретные сообщения и соответсвтенно поиск велся по сообщениям. Кроме того, нужно при поиске по AND если в каком-то посте найдены все слова фразы, еще взять этот пост из базы форума и проверить, есть ли в нем действительно все эти слова..
2. Ну вот с этим я не знаю, но было бы неплохо это все-таки осуществить... Возможно надо изменить саму базу индексов, что бы можно было добавлять отдельные слова....
(Добавление)
Чисто теоретически думаю такое возможно, ведь в Mysql, состоящей из целых файлов можно же добавлять отдельные записи и в середину БД...
59. TvoyWeb - 22 Февраля, 2007 - 00:15:30 - перейти к сообщению
cosc пишет:
Перечитал 1 пост темы. Если я правильно понял, у Risearch два главных недостатка:

И главное очень сложная запутанная структура хранения индексов.
cosc пишет:
разделял их на конкретные сообщения

Я же уже писал, забудьте об этом. Поймите топик это единое целое. Просто предствьте что топик это пересказ общения нескольких людей на одном листе:
Пример:
cosc:Привет!
TvoyWeb:О, привет Улыбка
Леголегс:Мужики. а в что тут делаете?

Надеюсь ты понял о чем я! Топик это тема в которой все посты подчинены именно той темы ради которой она и создавалась.
Короче хрень какая то. Я бы оставил все как есть, но в поиске столько глюков, а очень хотелось бы чтобы форум работал с включенным отображением ошибок и не выдавал бы никаких ошибок или предупреждений. А когда я начинаю разбираться в скрипте поиска. на меня просто какой-то тупой ступор находит.
60. cosc - 22 Февраля, 2007 - 15:17:58 - перейти к сообщению
TvoyWeb пишет:
Надеюсь ты понял о чем я!

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

TvoyWeb пишет:
А когда я начинаю разбираться в скрипте поиска. на меня просто какой-то тупой ступор находит.

н-да, сочувствую... Обычно хорошо понятно тогда, когда ты это сам делаешь....
Ну а если заново поиск делать, то ИМХО лучшим вариантом использовать сортировку, так как она позволяет перерывать не всяю БД, а только ее часть....

(шепотом)может первую версию со старым поиском выпустить, и поиск сделать к следующей версии?

Форум на AlfaSpace.NET


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

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