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 :: Что делать с поиском форума? [6]
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


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

> Описание: Обсуждение механизма поиска новой версии форума
Леголегс Администратор
Отправлено: 15 Февраля, 2007 - 11:55:40
Post Id



JS-маньяк


Покинул форум
Сообщений всего: 2109
Дата рег-ции: Июль 2004  
Откуда: Липецк

Карма 17





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



Full Member


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

Карма 2




Леголегс пишет:
для базы поиска не вариант, заголовок будет на 5-10 % файла.

В случае с с ортировкой можно реализовть подобное, все пехнуть в 1 файл и в начале заголовок, тут начинается все относящееся к букве А, тут к букве Б и т д....
 
 Top
Леголегс Администратор
Отправлено: 17 Февраля, 2007 - 02:05:11
Post Id



JS-маньяк


Покинул форум
Сообщений всего: 2109
Дата рег-ции: Июль 2004  
Откуда: Липецк

Карма 17




cosc
А добавлять записи как?
 
 Top
cosc
Отправлено: 17 Февраля, 2007 - 02:58:31
Post Id



Full Member


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

Карма 2




Леголегс
SviMik пишет:
А fseek() + fread() (имеется ввиду именно частичное чтение\запись) всяко быстрее

Если я правильно понял SviMik то так же как читать так же можно и добавлять, только насчет записи я несколько сомневаюсь, что это будет быстрее, хотя сложно сказать.... Ведь в случае с записью файловая система сервера после изменения одной записи будет вынуждена сдвинуть вниз весь нижеследующий файл, а для большого файла этой должно занять прилично времени....
В этой ситуации возможно компромиссом будет как я предлагал выше: Разбить на файлы по первой букве слова, и каждый файл разделить на части по второй букве слова. Тут и файлы будут среднего размера и искать надо будет не по всему файлу, а по совсем маленькой его части....
 
 Top
Леголегс Администратор
Отправлено: 17 Февраля, 2007 - 04:58:04
Post Id



JS-маньяк


Покинул форум
Сообщений всего: 2109
Дата рег-ции: Июль 2004  
Откуда: Липецк

Карма 17




cosc
Это ещё сильно повезёт, если отыщется функция finsert() а скорее всего будет только fwrite() которая пишет поверх, а "растягивать" файл придётся вручную.
 
 Top
TvoyWeb Администратор
Отправлено: 20 Февраля, 2007 - 02:00:12
Post Id



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


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

Карма 52




От чего хотели уйти к тому и приходим. В Risearch именно то о чем вы сейчас говорите.
Тогда отсается просто вернуть его и все. Пока мне в голову больше ничего не лезет.
 
 Top
TvoyWeb Администратор
Отправлено: 20 Февраля, 2007 - 23:32:15
Post Id



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


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

Карма 52




Я до конца так и не разобрался с Risearch, но там практически то же самое что вы все предлагаете. за исключением того что там все это дело упаковывается и в fseek передаются значения согласно упаковке поискового слова.
Собственно можно оставить этот скрипт, поправив его баги. Но полноценного поиска не получится. О причинах я писал в самом начале этой темы.
К варианту поиска по тексту всей темы я обратился только из-за более точного поиска, нежели в Risearch.
Вобщем надо думать.
 
 Top
cosc
Отправлено: 21 Февраля, 2007 - 09:50:57
Post Id



Full Member


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

Карма 2




TvoyWeb пишет:
В Risearch именно то о чем вы сейчас говорите.

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



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


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

Карма 52




cosc пишет:
Перечитал 1 пост темы. Если я правильно понял, у Risearch два главных недостатка:

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

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

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



Full Member


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

Карма 2




TvoyWeb пишет:
Надеюсь ты понял о чем я!

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

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

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

(шепотом)может первую версию со старым поиском выпустить, и поиск сделать к следующей версии?
 
 Top
Страниц (9): « 1 2 3 4 5 [6] 7 8 9 »
Сейчас эту тему просматривают: 5 (гостей: 5, зарегистрированных: 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.0426]     [ 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