Я работаю над небольшим проектом lucene, где мне нужно проиндексировать несколько текстовых файлов.Я думаю, что пока мне удалось создать индекс.код запускается, и я получаю набор файлов с именем 0 _. * fdt / fdx / fnm и т. д.
я хочу знать, могу ли я выбрать папку назначения дляиндекс, который будет создан в?
Я следую этому Руководству , и я определяю папку индекса и файлы для папки индекса, но я не могу найти никаких параметров в конструкторе indexwriter, которые могли бы достичь этого.
вот мой код для создания индекса
public static void createIndex() throws CorruptIndexException, LockObtainFailedException, IOException {
File[] files = FILES_TO_INDEX_DIRECTORY.listFiles();
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_33);
SimpleFSDirectory d = new SimpleFSDirectory(FILES_TO_INDEX_DIRECTORY);
IndexWriter indexWriter = new IndexWriter(d, analyzer, IndexWriter.MaxFieldLength.LIMITED);
for (File file : files) {
Document document = new Document();
String path = file.getCanonicalPath();
byte[] bytes = path.getBytes();
document.add(new Field(FIELD_PATH, bytes));
Reader reader = new FileReader(file);
document.add(new Field(FIELD_CONTENTS, reader));
indexWriter.addDocument(document);
}
indexWriter.optimize();
indexWriter.close();
}
, и я использую тип File вместо строки для каталогов
public static File FILES_TO_INDEX_DIRECTORY = new File("C:\\Users\\k\\Dropbox\\Public\\afgansprojekt\\RouteLogger\\Lucene\\FilesToIndex");
public static final File INDEX_DIRECTORY = new File("C:\\Users\\k\\Dropbox\\Public\\afgansprojekt\\RouteLogger\\Lucene\\Index");