0

嗨,我有以下依赖:

<dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-queryparser</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-analyzers-common</artifactId>
        </dependency>

他们都在4.3。

MultiFieldQueryParser.parse(Version.LUCENE_43,
                    searchCriteria.getSearchTerms(), searchCriteria
                            .getSearchFields(), new EnglishAnalyzer(
                            Version.LUCENE_43));

我收到一条错误消息

org.apache.lucene.analysis.StopwordAnalayzerBase is indirectly referenced, however it does not exist. 

我检查了包裹,它们是org.apache.lucene.analysis.util.StopWordAnalyzerBase.

我该怎么做migrate?我需要什么dependency

我的代码是 l

4

1 回答 1

1

看起来你EnglishAnalyzer在类路径中的某个地方有旧版本。

EnglishAnalyzer在 Lucene 4.3 中StopWordAnalyzerBaseo.a.l.a.util包中扩展:

import org.apache.lucene.analysis.util.StopwordAnalyzerBase;
...
public final class EnglishAnalyzer extends StopwordAnalyzerBase {

事实上,这两个类都位于同一个 jar中。

于 2013-05-17T15:04:20.770 回答