> Как мне кажется, signature file здесь будет лучше работать, поскольку:

Возможно. Нужно только осознать принцип его работы :)

> а) тебя не интересует порядок следования слов в документе. В твоем
> варианте тебе приходится делать комбинации "a b" и "b a" для двух слов и
> "a b c", "a c b", "b a c", "b c a", "c a b", "c b a" для трех слов.

Не, я не такой тупой. внутренние перестановки в комбинации я буду
игнорировать :)

Количество комбинаций K-слов из N-слов равно

N*(N-1)*...*(N-K) / K!

Хотя, как видно из тех результатов, которые я привел во второй раз,
цифры все равно получаются лошадиные.

> В случае с signature file, каждое слово получает свой бит, количество
> записей соотв. количеству слов.

И какого размера будет эта сигнатура для моих 700 тыс уникальных слов?

И опять же - а как искать по ней искать. Тут же, кажется, речь идет
про AND сигнатуры для строки поиска и сигнатуры объекта в БД. А это
"тупой" перебор всех сигнатур.

> б) тебе не придется мучится ни с джойнами на больших таблицах, ни с
> генерацией пар слов. Что-то мне подсказывает, что если создать три
> "подписи", одну для ФИО, одну для адреса и одну для паспорта,

Ну "текстовые индексы" для адреса, паспорта и ФИО, у меня, формально,
уже разнесены по отдельным "секцияv". Этих секций, грубо говоря -
столько сколько всего всех проиндексированных объектов - 2810457. По
сигнатуре на каждый объект. Перебор трех лимонов - это не многовато? А
в перспективе? Хотя, конечно, перспектива моих комбинаций, без
внедрения "запрещенных" комбинаций - тоже пока не радужная :)

Коваленко Дмитрий

Ответить