Использовать виртуальную файловую систему с Lucene.NET
Есть ли способ использовать виртуальную файловую систему с Lucene.NET? Основываясь на моем (умеренном) опыте с Lucene, я подозреваю, что ответ здесь - нет; но на всякий случай (...) за исключением этого:
Или существует существующий модуль Contrib или надстройка для Lucene.NET, которая добавляет поддержку VFS?
1 ответ
Вы можете сделать это путем реализации Lucene.Net.Store.Directory
, Xmldoc для этого абстрактного класса очень дидактичен:
Каталог - это плоский список файлов. Файлы могут быть записаны один раз, когда они созданы. После создания файла его можно открыть только для чтения или удалить. Произвольный доступ разрешен как при чтении, так и при записи.
API ввода / вывода Java не используются напрямую, а скорее весь ввод / вывод осуществляется через этот API. Это позволяет такие вещи, как:
- внедрение индексов на основе ОЗУ;
- индексы реализации, хранящиеся в базе данных, через JDBC;
- реализация индекса в виде одного файла;
Блокировка каталога осуществляется экземпляром LockFactory и может быть изменена для каждого экземпляра каталога с помощью setLockFactory.
Вот пример реализации пользовательского каталога для поддержки Azure.