java - Lucene 3.6 索引编写器

标签 java lucene

目前我正在使用 Lucene 3.6,但很难让 IndexWriters 工作。

API 文档建议:

IndexWriter writer = new IndexWriter(Directory, Analyzer);

(以及其他一些类似的构造函数)已被贬值,我应该使用类似的东西:

IndexWriter writer = new IndexWriter(Directory, Configuration);

但是 eclipse 不会识别这个较新的构造函数(lucene-core3.6.jar 被添加到我的项目的构建路径中),并且如果我使用较旧的构造函数,我必须抑制警告(我不是特别想这样做 - 当我使用这些较旧的方法在内存中建立索引时会抛出异常)。

我已经清理了该项目,但问题仍然存在。

编辑:我正在使用的代码:

        Directory index = new RAMDirectory();
    StandardAnalyzer analyzer = new StandardAnalyzer();
    IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_36, analyzer);
    IndexDeletionPolicy IndexDeletionPolicy = new KeepOnlyLastCommitDeletionPolicy();
    MaxFieldLength fieldLength = new MaxFieldLength(256);
    IndexWriter writer = new IndexWriter(index, analyzer, false, IndexDeletionPolicy, fieldLength);
    //IndexWriter writer = new IndexWriter(index, config); 
    writer.setUseCompoundFile(false);

最佳答案

阅读 javadoc 是一个好的开始:

http://lucene.apache.org/core/3_6_0/api/all/index.html

构造函数

构造函数和描述

  • IndexWriter(目录 d, 分析器 a, boolean 创建, IndexDeletionPolicy 删除策略, IndexWriter.MaxFieldLength mfl) 已弃用。使用 IndexWriter(Directory, IndexWriterConfig) 代替

  • IndexWriter(目录 d, 分析器 a, boolean 创建, IndexWriter.MaxFieldLength mfl) 已弃用。使用 相反,使用 IndexWriter(Directory, IndexWriterConfig)

  • IndexWriter(目录 d, 分析器 a, IndexDeletionPolicy 删除策略、IndexWriter.MaxFieldLength mfl) 已弃用。使用 相反,使用 IndexWriter(Directory, IndexWriterConfig)

  • IndexWriter(目录 d, 分析器 a, IndexDeletionPolicy 删除策略、IndexWriter.MaxFieldLength mfl、IndexCommit 提交) 已弃用。使用 IndexWriter(Directory, IndexWriterConfig) 代替

  • IndexWriter(目录 d, 分析器 a, IndexWriter.MaxFieldLength mfl) 已弃用。使用 IndexWriter(Directory, IndexWriterConfig) 代替

  • IndexWriter(Directory d, IndexWriterConfig conf) 根据conf中给定的设置构造一个新的IndexWriter。

毫不奇怪,您使用的是已弃用的构造函数,并且 Eclipse 正确地发出警告。如果您使用最后一个构造函数,我确信 Eclipse 不会发出警告。

关于java - Lucene 3.6 索引编写器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11435638/

相关文章:

java - 如何对接收和返回对象列表的方法进行单元测试

solr - NGram有序搜索

java - 写入 Excel 文件时会丢失一些数据。 java

java - 使用 IAM 角色从 Java 访问 AWS S3

java - 如何在 TextField Java Swing 上获取值

java - 如何在Java中导入使用其他类的抽象方法的Python子类?

mysql - HTTP ERROR 500 prbm accessing/solr/dataimport 无法配置 solr

c# - Azure 搜索 : price range - min & max value calculation

lucene - 部分词的文档搜索

java - 当库使用 gradle 使用 SPI 时,如何正确输出 META-INF?