Kovalenko Dmitry wrote:
какой-то пример из базы привести, чтоб понятней было?

Построй строку "Ф И О рыла, его адрес, описание его паспорта" вот тебе
и будет пример :)

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

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

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

Роман

Ответить