Структура Lucene.NET для решения индексации пути к файлу - PullRequest
1 голос
/ 02 марта 2012

Я пытаюсь создать приложение в C # .NET 4.0 и WPF, которое индексирует:

  1. Имена файлов ("taskmgr.exe")
  2. Описания файлов («Диспетчер задач Windows»)
  3. Абсолютный родительский каталог ("C: \ Windows \ System32")

на всех жестких дисках компьютера пользователя.

Я не индексирую содержимое файлов - только имена файлов / пути / описания. Также обратите внимание, что я индексирую только практические файлы расширений .DOC, .MP3, .EXE, .CS, .CPP. Я не буду индексировать файлы без расширений, пользовательские расширения, библиотеки DLL или другие подобные файлы.

Я совершенно новичок в Lucene, и я прочитал несколько статей для начинающих о том, как проектировать структуру документа / индекса.

Я думал, что моя структура документа Lucene может быть такой, что каждый файл является новым документом с тремя полями, перечисленными выше в качестве трех значений пары ключей. Это рекомендуется? Правильный ли выбор с Lucene? Будет ли поиск имени файла выполняться в реальном времени (список может без особых задержек динамически расширяться и сокращаться со всеми возможными именами файлов и путями)?

Если требуется какая-либо статистика, мой жесткий диск составляет 450 ГБ, и у меня всего 681 014 файлов (все расширения) и 165 732 папки.

Ответы [ 2 ]

1 голос
/ 03 марта 2012

Это довольно старая статья с dotLucene (теперь Lucene.net), но очень полезная для новичков, пишущих настольные поисковые приложения Lucene.

Примечание. API Lucene.net 3.0 значительно изменился, поэтому используйте его только в качестве ориентира.

1 голос
/ 02 марта 2012

Это все равно для Lucene;вопрос в том, что бы хотели ваши пользователи?Если они ищут «задачу», должен ли он соответствовать любому файлу, который есть в имени, описании или родительском каталоге?Если это так, то это, вероятно, должно быть все одно поле.

Хотите ли ваши пользователи быть более конкретными (например, filename:task)?Если это так, то вам понадобятся отдельные поля.

В качестве отступления: вы, вероятно, хотите использовать Solr.Это проще в настройке и предотвращает некоторые распространенные ошибки.

...