clevel
Новичок
Производительность
Предистория.
Понадобилось мне написать "умный поиск"- с учетом морфологии русского языка, плюс возможность искать по текстам, учитывая отступы слов от начала страницы, других слов.
Та вот, пошел я искать в инете, может чего до меня придумали, набрел на один сайт, не буду делать ему рекламы, там есть сырцы на пхп и перле, сделанные для решения моей задачи.
Но! словарь для морфологии сделан на основе хеша и НЕ ПОЗВОЛЯЕТ без перекомпиляции добавлять новые слова.
почитав литературы, сделал свой словарь, используя мускул.
Таблица вида id(mediumint unique autoincriment), content (char20, primary key), parent(mediumint indexkey), где сконвертил все первичные и производные словоформы. все замечательно - можно добавлять новые слова без проблем...
однако встала делема - 60 мегов словарь (дата+индексы).
Начал общаться с челом, которого сырцы нашел, он говорит, что полный словарь у него занимает пять мегов и поиск идет у него быстрее за счет того, что скрипт у него меньше "шуршит" по диску (fseek,read меньше)...
я ему привел пример того, что у меня индексы, и, соответственно, выборок - минимальное количество...
Я ему ссылки с мана, что вот мол, дескать так и так, мускул все грамотно делает, в ответ - усмешки.
Вопрос:
при вышеуказанной структуре и ИНДЕКСАХ будет ли минимальное "шуршание по диску" при запросах:
1.select id,parent from table where content='словщ'
2.select content from table where parent=10000
Интересует теоретическое подкрепление...
Сам читаю доку про бинарные деревья, красно-черные, хеши.... вроде все быстро работает, но хочется ему нос утереть... помогите, плз...
Предистория.
Понадобилось мне написать "умный поиск"- с учетом морфологии русского языка, плюс возможность искать по текстам, учитывая отступы слов от начала страницы, других слов.
Та вот, пошел я искать в инете, может чего до меня придумали, набрел на один сайт, не буду делать ему рекламы, там есть сырцы на пхп и перле, сделанные для решения моей задачи.
Но! словарь для морфологии сделан на основе хеша и НЕ ПОЗВОЛЯЕТ без перекомпиляции добавлять новые слова.
почитав литературы, сделал свой словарь, используя мускул.
Таблица вида id(mediumint unique autoincriment), content (char20, primary key), parent(mediumint indexkey), где сконвертил все первичные и производные словоформы. все замечательно - можно добавлять новые слова без проблем...
однако встала делема - 60 мегов словарь (дата+индексы).
Начал общаться с челом, которого сырцы нашел, он говорит, что полный словарь у него занимает пять мегов и поиск идет у него быстрее за счет того, что скрипт у него меньше "шуршит" по диску (fseek,read меньше)...
я ему привел пример того, что у меня индексы, и, соответственно, выборок - минимальное количество...
Я ему ссылки с мана, что вот мол, дескать так и так, мускул все грамотно делает, в ответ - усмешки.
Вопрос:
при вышеуказанной структуре и ИНДЕКСАХ будет ли минимальное "шуршание по диску" при запросах:
1.select id,parent from table where content='словщ'
2.select content from table where parent=10000
Интересует теоретическое подкрепление...
Сам читаю доку про бинарные деревья, красно-черные, хеши.... вроде все быстро работает, но хочется ему нос утереть... помогите, плз...