Организация поиска с учетом морфологии + разделение нагрузки

L
На сайте с 13.05.2008
Offline
9
384

Предполагается сделать поиск с учетом морфологии.

Поиск будет вестись по таблице в которой изначально предполагается >10000000 записей (сам поиск будет по текстовому полю ТЕХТ, и возможно по двум ФЛОАТ), в общем большой и постоянно растущей. На даном этапе используем СУБД MySQL, в будущем, возможно, что-то изменится (надеюсь :) ). Надо решить проблемму нагрузки на эту одну бедненькую табличку.

Может её разделить на несколько по каким-то критериям.

Например, если бы, текст в таблице состоял из одного-двух слов, можно разделить данные по первым двум символам, текст "икра кабачковая" состоял бы в двух таблицах "ik_table" (все записи где слово начинается на "ик"), "ka_table" (все записи где слово начинается на "ка"), т.е. запись дублируется в двух таблицах. Зато при поиске по запросу "икра кабачковая" не будет лопатится вся таблица с >10000000 записей, а всего две по 5000 зап. Но естественно такой вариант не проходит, т.к. в текстовом поле могу быть записи из 10-25 слов, и дублировать одну запись 25 раз невыгодно.

Вобщем посоветуйте что-то.

Может знаете литературу на эту тему.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий