Механизм сравнения документов / Поиск - PullRequest
0 голосов
/ 19 мая 2011

У меня есть большое количество файлов документов, включая .pdf, .one, .doc, .docx и т. Д. Я пытаюсь найти способ сравнить текстовое содержимое файлов, чтобы найти дубликаты или близкие совпадения. У меня есть сайт, построенный на стеке LAMP, в который пользователи загружают файлы. Я мог бы либо сравнить документы при загрузке, либо запустить задание cron. Я видел Apache Lucene, упомянутый в аналогичном контексте, и Zend Search Lucene кажется мощной версией PHP, но они больше ориентированы на поиск, чем на сравнение. Будет ли способ использовать их для сравнения?

Спасибо, Chris

1 Ответ

0 голосов
/ 19 мая 2011

Я думаю, что сравнение файлов для совпадений, вероятно, будет намного проще, чем сравнение для близких совпадений. Вероятно, потребуется комбинация подходов.

Сразу же я бы использовал что-то вроде hash_file (), чтобы получить хеш-значения для содержимого вашего файла. После этого вы можете получить супер короткое представление содержимого вашего файла, которое вы можете использовать для сопоставления с другими хэшами файлов для поиска дубликатов. Вы можете попытаться хешировать разные значения или собрать некоторую информацию о ваших файлах, такую ​​как strlen () или что-то в этом роде, для сравнения «почти дубликата». Надеюсь, это полезно. Звучит как вызов наверняка.

...