使用最新版本 Lucene 的示例

Examples for using latest version of Lucene

我是 Lucene 的新手,想在 Maven 环境中直接从我的 Java 代码调用它。我已经尝试了一段时间来寻找可以下载和 运行 的工作示例。官网最新教程是2013 - Lucene 3.* https://cwiki.apache.org/confluence/display/lucene/LuceneFAQ#LuceneFAQ-HowdoIstartusingLucene?。 Maven 中的当前最新版本是 8.5.1 。 Web 上的大多数非官方教程不包含版本号或完全限定名称。 Lucene 似乎经常更改其 API、语法和名称,因此会出现编译错误、ClassNotFound 和删除的方法。 我想知道:

最新版本文档的主页是 here。这包括指向所有 javadoc 部分的链接(不同库的不同部分)。

它还包括指向一些当前工作代码示例的链接(是的,从 pre-8 到 8+ 有重大更改)。如您所见,Wiki 在这方面可能不可靠。

main demo 可能是开始查看工作代码示例的最佳位置。

具体请参见 how to index and how to search 示例。

您需要哪些包完全取决于您要做什么。例如,您不太可能需要空间分析包,除非您知道您需要它

我的 POM 通常包括这些:

<properties>
    <lucene.version>8.5.0</lucene.version>
</properties>

<dependencies>
    <dependency>        
        <groupId>org.apache.lucene</groupId>          
        <artifactId>lucene-core</artifactId>
        <version>${lucene.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-queryparser</artifactId>
        <version>${lucene.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-analyzers-common</artifactId>
        <version>${lucene.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-analyzers-icu</artifactId>
        <version>${lucene.version}</version>
    </dependency>
</dependencies>

有时我也用这些:

<dependency>
    <groupId>org.apache.lucene</groupId>
    <artifactId>lucene-suggest</artifactId>
    <version>${lucene.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.lucene</groupId>
    <artifactId>lucene-highlighter</artifactId>
    <version>${lucene.version}</version>
</dependency>