私は、新しいドキュメントが作成されるたびに、約500.000レコードのデータベースで重複を検出して破棄する必要があるドキュメントシステムを開発しています。
今のところ、私は検索エンジンを使用して、最も類似した20のドキュメントを取得し、それらを作成しようとしている新しいドキュメントと比較しています。問題は、新しいドキュメントが類似しているかどうかを確認する必要があることです(similar_textを使用すると簡単です)。または、他のテキスト内に含まれている場合でも、テキストがユーザーによって部分的に変更されている可能性があることを考慮して、このすべての操作を行います(これは問題)。どうすればそれができますか?
例えば:
<?php
$new = "the wild lion";
$candidates = array(
'the dangerous lion lives in Africa',//$new is contained into this one, but has changed 'wild' to 'dangerous', it has to be detected as duplicate
'rhinoceros are native to Africa and three to southern Asia.'
);
foreach ( $candidates as $candidate ) {
if( $candidate is similar or $new is contained in it) {
//Duplicated!!
}
}
もちろん、私のシステムでは、ドキュメントは3ワードより長くなっています:)