Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

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

Сообщения:  [1-3] 

 
 автор: lonejan   (17.01.2009 в 10:18)   письмо автору
 
   для: xx7   (11.01.2009 в 17:03)
 

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

  Ответить  
 
 автор: xx7   (11.01.2009 в 17:03)
 
   для: lonejan   (11.01.2009 в 11:32)
 

Если вся морфология только в том что учитываются начала слов , то индекс типа FULLTEXT неплохо-таки с этим справляется . ещё только не пробовал 10000000 записей , но примерно при 100000 записей при том что сами текстовые данные занимают где-то 274948 килобайт и индекс по ним примерно 118938 килобайт
, поиск слова получается довольно-таки шустрым , если без всяких лишних сортировок, и использую limit , штук по 20 записей
// сделал только три минимально-возможных буквы в слове для поиска , вместо четырёх по умолчанию

  Ответить  
 
 автор: lonejan   (11.01.2009 в 11:32)   письмо автору
 
 

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

Вобщем посоветуйте что-то.
Может знаете литературу на эту тему.

  Ответить  

Сообщения:  [1-3] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования