imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 23.10.2003, 19:58     # 1
NarcomBAT
Guest
 
Сообщения: n/a

Структура данных для индексатора - как?

есть газета за 5 лет выложенная в нет в виде html файлов. объем всех файлов примерно 100-150 Mb надо их проиндексировать а затем осуществлять поиск по этой базе

по определенным соображениям я отказался от встроенного fulltex index (хотя может быть и напрасно)

я написал один скрипт который использовал БД с тремя таблицами
word(id_word,word)
article(id_article,article)
index(id_article,id_word,occurence)
принцип работы такой: вытаскивает из html файлавсе слова,берет по одному каждое слово проверяет если такое слово в таблице word если есть берет его id_word если нет записывает его туда с новым id_word,
в таблице article делаем запись о индексируемом файле и берем его id_article,
в таблице index ищем индексировали ли мы уже стсатью с такими id_article,id_word если да то увеличиваем occurence на 1 если нет то пишем новую запись

примерно так все и было
но потом я заметил что по мере того как я добавляю новые статьи скорость поиска резко снижается и уже по базе со статьями за 1 год
поиск производился за 17-19 секунд что по моему очень долго а
в таблице index больше 1.5 миллиона записей

Я решил переделать метод индексации таблицы word и article остались без изменения а вместо таблицы index сделал для каждой быквы алфавита свою таблицу типа a_index, b_index и т д
теперь за два 2 года поиск идет примерно за 2 секунды

но помоему это не эффективная структура получается через 5 лет поиск по архиву будет 5 секунд?

Кто знает как организовать правильное хранение индекса в базе данных какая должна быть структура базы?
например как хранятся данные в google.com?

кто что знает?
или перейти на встроенный fulltext index?
 
Старый 23.10.2003, 20:20     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
где-то я уже видел этот вопрос ...
RaZEr вне форума  
Старый 24.10.2003, 11:13     # 3
NarcomBAT
Guest
 
Сообщения: n/a

RaZEr

А что делать ? Мне надо решить эту проблему.
 

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 14:28.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.