`

Lucene官方一个简单的实例

阅读更多

Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache家族中的一个开源项目。也是目前最为流行的基于 Java 开源全文检索工具包。

 

官方简单的例子:版本(lucene 4.1.0)

导入lucene-core-4.1.0.jar、lucene-analyzers-common-4.1.0.jar、lucene-queries-4.1.0.jar、lucene-queryparser-4.1.0.jar

 

 

1.IndexWriter建立索引的类;

2.IndexSearcher搜索索引的类

 

 

package com.mei.testlucene;

import java.io.File;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.queryparser.classic.ParseException;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.Version;

public class HelloLucene {
  public static void main(String[] args) throws IOException, ParseException {
		Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);
		 // Store the index in memory:
	    Directory directory = new RAMDirectory();
	    // To store an index on disk, use this instead:
	    //Directory directory = FSDirectory.open(new File("H:/luceneIndex"));
	    IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_CURRENT, analyzer);
	    IndexWriter iwriter = new IndexWriter(directory, config);
	    Document doc = new Document();
	    String text = "This is the text to be indexed.";
	    doc.add(new Field("fieldname", text, TextField.TYPE_STORED));
	    iwriter.addDocument(doc);
	    iwriter.close();
	    System.out.println("建立索引 ok");
	    
	    // Now search the index:
	    DirectoryReader ireader = DirectoryReader.open(directory);
	    IndexSearcher isearcher = new IndexSearcher(ireader);
	    // Parse a simple query that searches for "text":
	    QueryParser parser = new QueryParser(Version.LUCENE_CURRENT, "fieldname", analyzer);
	    Query query = parser.parse("text");
	    ScoreDoc[] hits = isearcher.search(query, null, 1000).scoreDocs;
	    System.out.println(hits.length == 1);
	    // Iterate through the results:
	    for (int i = 0; i < hits.length; i++) {
	      Document hitDoc = isearcher.doc(hits[i].doc);
	      System.out.println(hitDoc.get("fieldname"));
	    }
	    ireader.close();
	    directory.close();
	}
}

 

 

分享到:
评论

相关推荐

    lucene全文搜素实例 java lucene 实例

    Lucene 是 Apache 软件基金会的一个开源项目,它提供了一个高性能、可扩展的信息检索库。这个实例将深入讲解如何在 Java 中使用 Lucene 来创建索引并执行各种搜索操作。 ### 一、Lucene 基本概念 1. **索引(Index...

    基于java的Lucene全文搜索引擎资源简单实例下载

    本资源包提供了一个简单的实例,帮助开发者快速理解并掌握Lucene的基本用法。 1. **Lucene的基本概念** - **索引**: Lucene首先需要对文档进行索引,这个过程相当于将文本数据转换成便于搜索的结构(倒排索引)。 ...

    第一个lucene的简单实例....

    标题 "第一个lucene的简单实例" 提到的是关于Apache Lucene的初步应用,这是一个全文搜索引擎库,常用于Java开发中。Lucene提供了高效的文本搜索功能,使得开发者能够快速地在大量数据中查找相关信息。 描述中的 ...

    Lucene简单实例记录

    Apache Lucene是一个高性能、全功能的文本搜索引擎库,由Java编写,提供了对文本进行索引和搜索的能力。它允许开发者将强大的搜索功能集成到他们的应用程序中,而无需深入了解底层搜索算法和数据结构。 ### Lucene...

    Lucene索引器实例

    以下是一个简单的Java代码示例,展示了如何创建和使用Lucene索引器: ```java import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache....

    lucene4.7 开发简单实例

    《Lucene 4.7 开发简单实例详解》 Lucene 是一款强大的全文搜索引擎库,广泛应用于各种信息检索系统中。在本实例中,我们将深入探讨Lucene 4.7版本,涵盖索引的创建、修改、删除,以及查询时的排序、分页、优化和...

    paoding+lucene实现全文检索功能简单实例

    本实例将介绍如何结合Paoding和Lucene来实现一个简单的全文检索系统,这在处理中文数据时尤其有效。 首先,让我们了解一下Paoding。Paoding是一款优秀的中文分词库,它针对中文的特点进行了优化,能有效地进行词语...

    lucene实例lucene实例

    二、Lucene实例操作流程 1. 创建索引(Indexing):首先,我们需要创建一个索引Writer,然后添加文档到索引中。每个文档包含多个字段,每个字段都有其特定的属性,如是否可搜索、是否存储原始内容等。 ```java ...

    Lucene使用代码实例之搜索文档

    以下是一个简单的示例代码,演示了如何使用Lucene搜索包含关键词"lucene"的文档: ```java public class TxtFileSearcher { public static void main(String[] args) throws Exception{ String queryStr = ...

    lucene3 例子

    Lucene是一个开源的全文检索库,由Apache软件基金会开发,广泛应用于各种信息检索系统中,包括搜索引擎、内容管理系统等。它提供了强大的文本分析、索引构建和搜索功能,支持多种编程语言,如Java、Python、.NET等。...

    Lucene+HighLighter高亮显示实例

    《Lucene+HighLighter高亮显示实例解析》 在信息技术领域,搜索引擎的构建与优化是至关重要的一环,其中,如何有效地对搜索结果进行高亮...无论是简单的个人项目还是大型企业级应用,Lucene都是一个值得信赖的选择。

    最新全文检索 lucene-5.2.1 入门经典实例

    Lucene是一个开源的全文检索库,由Apache软件基金会开发,广泛应用于各种信息检索系统。在5.2.1版本中,Lucene提供了更为高效和强大的搜索功能,为开发者提供了构建搜索引擎的坚实基础。本篇文章将深入探讨Lucene-...

    Lucene搜索实例

    以下是一个简单的查询示例: ```java Query query = new TermQuery(new Term("content", "搜索关键词")); try (IndexReader reader = DirectoryReader.open(directory); IndexSearcher searcher = new ...

    lucene全文检索简单索引和搜索实例

    《Lucene全文检索:简单索引与搜索实例详解》 Lucene是Apache软件基金会的开源项目,是一款强大的全文检索库,被广泛应用于Java开发中,为开发者提供了构建高性能搜索引擎的能力。在本文中,我们将深入探讨如何基于...

    lucene实例(包括分页、中文检索等)

    lucene实例是一个比较详细的例子,包括lucene的入门到高级实例,代码里有比较详细的实例,所有的实例都是通过junit来测试的。实例包括各种搜索:如通配符查询、模糊查询、查询结果的分页、中文分词器、自定义分词器...

    Java搜索工具——Lucene实例总结(一)

    Java搜索工具——Lucene实例总结(一) 在Java开发中,搜索引擎已经成为不可或缺的一部分,而Apache Lucene正是一个强大的全文搜索引擎库。这篇博文将带你深入理解Lucene的基本概念和使用方式,帮助你快速入门并掌握...

    lucene_web项目应用实例

    本文将深入探讨一个名为“lucene_web”的项目,它是基于Lucene实现的一个Web应用程序实例,旨在帮助开发者更好地理解和运用Lucene进行Web开发。 首先,我们要明白Lucene的核心功能。Lucene提供了一套完整的搜索索引...

Global site tag (gtag.js) - Google Analytics