Создание условий поиска из имен файлов - PullRequest
1 голос
/ 20 октября 2011

В настоящее время я пытаюсь создать небольшую систему, которая читает по паре имен файлов (на данный момент всего несколько сотен), а затем позволяет пользователю искать имена файлов.Конечная цель - найти деликатов, которые не обязательно будут иметь точно такие же имена, но будут иметь общие слова.В конечном итоге я хотел бы добавить функцию, позволяющую также предлагать возможные дубликаты.

В настоящее время я добавляю каждый путь к файлу в ArrayList, а затем передаю каждое слово имени файла в Hashtable, который использует сцепление.Слова создаются с использованием String.split(), и все не алфавитно-цифровые символы преобразуются в пробелы.Эта часть отлично работает, и вы можете искать одно слово, не беспокоясь.

Я знаю теорию поиска нескольких терминов, получения ответа и определения базовой релевантности того, сколько раз он выбирает каждый документ.

Моя текущая проблема связана с именами файлов, которые похожи на этот 'mybestfile'.Моя программа может обрабатывать их только как одно слово.и если вы не будете искать «mybestfile», вы ничего не найдете.

Может кто-нибудь предложить путь разработки, по которому мне следует идти отсюда.Я знаю, что могу проанализировать весь словарь, а затем попытаться извлечь слова, сопоставляя подстроки, но, если честно, это просто упрощенная программа, и я бы предпочел избегать подобных вещей.

Любая помощь будет принята с благодарностью !!

(Также смысл этого в том, чтобы наполовину учиться, наполовину доказывать, что я могу это сделать, поэтому я хотел бы узнать о решениях, которые уже существуют, но больше о том, как они это сделаливместо того, чтобы использовать их вместо этого)

1 Ответ

1 голос
/ 20 октября 2011

Вы можете начать играть с различными «звуковыми» и дистанционными алгоритмами, доступными в языковом пакете Apache Codec .(Я думаю, что расстояние находится в Commons Lang, а не в кодеке.)

SimMetrics - другое.На самом деле не могу найти тот, который я ищу, но вот список тоже .

...