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-ку полный текст "документа" и полный текст запроса.
Остается только отсеять те записи, у которых совпадение слишком маленькое.
Роман