> > Есть множество пар (ID1, ID2). Их общее число где-то 350 лимонов. > > Уникальных - 100 лимонов. > > Звучит как "отсортировать 350М 64-битных значений и выкинуть > дубликаты" - я правильно понял?
Нет не правильно. Точнее правильно, но не совсем. Для пар слов - так оно и есть. Для комбинаций из трех слов, сначало формируется две пары (WordID1,WordID2), (WordID2,WordID3) потом этим парам назначается идентификатор pairID1, pairID2 эти идентификаторы объединяются в новую пару - (pairID1,pairID2) и она снова добавляется в индекс. Если добавилась, значит пара уникальная - и ей присваивается индекс pairID3. Если не добавилась - значит такая комбинация из трех слов уже была и берется существующий индекс. Конечно, эту последовательность можно свести к сортировке. Но тогда потребуется два прохода по всем объектам. А этого хочется избежать. Реально, конечно, можно вообще забить на тот клиентский индекс, который я хочу построить - просто регистрировать пары в базе и не парится. К этому, кажется все и идет :) ... "детей не люблю, но сам процесс ..." > Или задача именно поддерживать индекс отсортированным в процессе > генерации пар? Ага. Коваленко Дмитрий.

