gpt4 book ai didi

java - Lucene Indexwriter 目标文件夹

转载 作者:行者123 更新时间:2023-12-01 15:48:33 24 4
gpt4 key购买 nike

我正在开发一个小型 lucene 项目,我必须在其中索引一堆文本文件。我想到目前为止我已经成功创建了索引。代码运行,我得到一堆名为 0_.* fdt/fdx/fnm 等的文件。

我想知道的是,我可以选择一个目标文件夹来创建索引吗?

我正在关注这个Guide我定义了一个索引文件夹和一个到索引文件夹的文件,但我在索引编写器构造函数中找不到任何可以实现此目的的参数。

这是我创建索引的代码

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();
}

我使用文件类型而不是字符串作为目录

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");

最佳答案

实际上,您正在使用 SimpleFSDirectory d = new SimpleFSDirectory(FILES_TO_INDEX_DIRECTORY); 设置目标文件夹

只需将 SimpleFSDirectory(FILES_TO_INDEX_DIRECTORY); 更改为 SimpleFSDirectory(INDEX_DIRECTORY);

编辑:

File[] files = FILES_TO_INDEX_DIRECTORY.listFiles(); //this is where you set the files to index

SimpleFSDirectory d = new SimpleFSDirectory(FILES_TO_INDEX_DIRECTORY); //here you are setting the index directory

您应该将此行更改为 SimpleFSDirectory d = new SimpleFSDirectory(INDEX_DIRECTORY);

关于java - Lucene Indexwriter 目标文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6607400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com