Сегодня занялся оценкой объемов, которые предстоит обрабатывать для
задуманного поиска по тексту с использованием пар лексем ... Боже,
храни FB.
У нас задумано два индекса
Первый используется для индексации описаний конкретных объектов (чел,
фирма, объект недвижимости (только его номер), паспорт (только номер),
адрес)
число проиндексированных объектов 2810457
14786203 - это количество записей object<-->лексема
38704791 - это, если юзать индексацию по двум лексемам
26811726 - это по трем
17725035 - по 4-м
11435087 - по 5-и
6708224 - по 6-и
3419094 - по 7-и
1476368 - по 8-и
578780 - по 9-и
213896 - по 10 лексемам.
[121859204] - это суммарный объем
И есть второй индекс. хранится в той же таблице, только относится к
другому (ROOT) объекту. ROOT-объектами являтся челы, фирмы, объекты
недвижимости. Его назначение - искать эти самые ROOT-объекты по
дочерним объектам (паспорт, адрес ...)
То есть формально, в описание чела засовывается описания всех его
паспортов и адресов. При поиске указываем в строке любые сведения о
челе - ФИО / паспорт / адрес и "без геммороя" находим конкретное рыло.
Здесь цифры, реально суровые
число ROOT-объектов: 1100403
14786203 - это число совпадает с ранее указанным (те же самые
записи)
92189456 - это по двум лексемам (!!!!!)
78908823 - по 3
66728521 - по 4
55647816 - по 5
45633758 - по 6
36685466 - по 7
28801051 - по 8
21971676 - по 9
16187129 - по 10
[457539899] - стоимость индекса до 10 лексем.
Вообщем, оно и понятно - описание ROOT-объекта весьма широкое и число
комбинаций резко подскакивает.
---------
Сейчас у нас держится только индекс без использования пар (14786203
записей) Число лексем - 700 тыс.
На десктопных машинах с гигом памяти обсчет статистики длится до
полутра часов. На сервере - 25-30 минут. Если добавить пары для ROOT-
ов (92189456) получаем (грубо) - 4 часа для обновления статистики.
На сервере уже решили перейти на 10ый рейд на 6 винтах. С пятого на
пяти. Это железо уже есть.
База сейчас 22 гига. На выходных буду на тестовой базе строить индекс
для ROOT-ов. Для 2х, максимум - 3x лексем 8-)
Для оценки числа пар и объема базы для этого добра.
Вот. Меня терзают смутные сомнения. Но лучше пока ничего придумать не
получается :(
Коваленко Дмитрий.