gpt4 book ai didi

java - 如何使用lucene更新索引目录

转载 作者:行者123 更新时间:2023-12-01 14:25:17 25 4
gpt4 key购买 nike

我有一个java程序,它可以对一些文件进行索引和搜索关键字。我的 filestoindex 目录中有 10 个文件,正在为这些文件建立索引。当我第一次运行 IndexWriter 时,它显示已对 10 个文档建立了索引,但是当我下次运行它时,它显示它已对 20 个文档建立了索引。为了避免每次出现这种情况,我删除了索引目录并运行代码。当我这样做时,效果很好。请向我建议一种每次运行 IndexWriter 时更新索引目录的方法(不删除 indexdir 目录)。

indexDirectory = new File(indexFilePath);
FSDirectory dir = FSDirectory.open(D://filestoindex);
StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_34);
IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_34, analyzer);
writer = new IndexWriter(dir, config);

最佳答案

您需要将IndexWriterConfig中的OpenMode设置为CREATE 。这将导致它在您打开 IndexWriter 时启动一个新索引,并覆盖旧索引(如果存在)。

IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_34, analyzer);
config.setOpenMode(IndexWriterConfig.OpenMode.CREATE);
writer = new IndexWriter(dir, config);

关于java - 如何使用lucene更新索引目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17206465/

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