gpt4 book ai didi

java - Lucene 3.4 覆盖索引中的文档

转载 作者:行者123 更新时间:2023-12-02 06:49:36 25 4
gpt4 key购买 nike

我正在尝试将文档添加到索引,但是当我尝试运行以下函数时,它返回 numDocs 作为 1 并覆盖上一个文档一!难道我做错了什么?我在另一个项目上做了同样的事情,效果很好!

    IndexWriter writer;
Directory dir = FSDirectory.open(new File("/home/omid/Desktop/Indexes"));
writer = new IndexWriter(dir, new StandardAnalyzer(Version.LUCENE_34), true, IndexWriter.MaxFieldLength.UNLIMITED);
Document doc = new Document();
doc.add(new NumericField("id", Field.Store.YES, false).setIntValue(writer.numDocs()));
doc.add(new NumericField("day", Field.Store.YES, false).setIntValue(13));
doc.add(new NumericField("month", Field.Store.YES, false).setIntValue(1));
doc.add(new NumericField("year", Field.Store.YES, false).setIntValue(1387));
doc.add(new Field("content", new FileReader(new File(filename)), Field.TermVector.YES));
doc.add(new Field("address", filename,Field.Store.YES, Field.Index.NOT_ANALYZED));
writer.addDocument(doc);
writer.close();
mes = "Indexed Filename: " + filename;
mes = mes + "<BR>Number of docs: " + writer.numDocs();

3.4 中的 lucene 3.0 是否有任何更改,或者我正在这样做

最佳答案

IndexWriter constructor的第三个参数指定是否应创建索引。如果create=true(如您的示例所示),任何旧索引都会被删除并替换为新索引。如果为 false,它将附加到现有索引。

此外,这种风格的 IndexWriter 构造函数在 3.4 中已弃用,并且在 4.x 中也不存在。通过IndexWriterConfig会好得多改为进入 IndexWriter

关于java - Lucene 3.4 覆盖索引中的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18212892/

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