IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Структура данных для индексатора - как? (https://www.imho.ws/showthread.php?t=41645)

NarcomBAT 23.10.2003 19:58

Структура данных для индексатора - как?
 
есть газета за 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?

RaZEr 23.10.2003 20:20

:biggrin: где-то я уже видел этот вопрос ...

NarcomBAT 24.10.2003 11:13

RaZEr

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


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

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