gpt4 book ai didi

java - 在 Lucene 中创建索引时出现 AbstractMethodError

转载 作者:太空宇宙 更新时间:2023-11-04 15:22:24 25 4
gpt4 key购买 nike

我想创建一个索引来将 url 存储为文件名并使用:

Analyzer analyzer = new StandardAnalyzer();
IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_40, analyzer);
FSDirectory dir = FSDirectory.open(new File(index));
IndexWriter writer = new IndexWriter(dir, config);

Document doc = new Document();
doc.add(newField("file_name", rs.getString("file_name"),
Field.Store.YES,
Field.Index.ANALYZED));
writer.addDocument(doc);

但是我遇到以下异常:

Exception in thread "main" java.lang.AbstractMethodError:
org.apache.lucene.analysis.TokenStream.incrementToken()
at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:133)
at org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:248)
at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:851)
at org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:827)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:2022)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1996)
at TextIndex1.main(TextIndex1.java:54)

最佳答案

通常,如果代码中存在问题,则应在编译时捕获抽象方法调用。出现运行时错误通常是由于导入不兼容的 jar 版本造成的。您使用的 Lucene jar 版本是什么版本?

另请参阅这个问题:Abstract Method Error

另外,关于 Lucene 版本的另一个说明是,您似乎使用的是 4.0 或更高版本,在这种情况下,不推荐使用使用 Field.IndexField 构造函数。您应该使用 Field 子类之一,例如 TextFieldStringField ,例如。

关于java - 在 Lucene 中创建索引时出现 AbstractMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20280693/

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