`
yangjizhong24
  • 浏览: 399671 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

lucene的索引建立及查找

阅读更多
package lucene;

import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.store.FSDirectory;

public class FSDirectoryTest {

	//建立索引的路径   
	public static final String path = "f:\\index2";

	public static void main(String[] args) throws Exception {
		Document doc1 = new Document();
		doc1.add(new Field("name", "lighter javaeye com", Field.Store.YES, Field.Index.TOKENIZED));

		Document doc2 = new Document();
		doc2.add(new Field("name", "lighter blog", Field.Store.YES, Field.Index.TOKENIZED));

		IndexWriter writer = new IndexWriter(FSDirectory.getDirectory(path, true), new StandardAnalyzer(), true);
		writer.setMaxFieldLength(3);
		writer.addDocument(doc1);
		writer.setMaxFieldLength(3);
		writer.addDocument(doc2);
		writer.close();

		IndexSearcher searcher = new IndexSearcher(path);
		Hits hits = null;
		Query query = null;
		QueryParser qp = new QueryParser("name", new StandardAnalyzer());

		query = qp.parse("lighter");
		hits = searcher.search(query);
		System.out.println("查找\"lighter\" 共" + hits.length() + "个结果");

		Document doc = null;
		for (int i = 0; i < hits.length(); i++) {
			doc = hits.doc(i);
			System.out.println(doc.get("name"));
			doc = null;
		}

		query = qp.parse("javaeye");
		hits = searcher.search(query);
		System.out.println("查找\"javaeye\" 共" + hits.length() + "个结果");

	}

}

 

附件为相关JAR包

分享到:
评论

相关推荐

    Lucene索引器实例

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

    Lucene索引和查询

    **Lucene索引和查询** Lucene是Apache软件基金会的开放源码全文搜索引擎库,它提供了文本检索的核心工具,使得开发者能够快速构建自己的搜索应用。本项目中的代码旨在展示如何利用Lucene对多个文件夹下的数据进行...

    lucene索引结构原理

    **Lucene索引结构原理** Lucene是Apache软件基金会的开放源代码全文搜索引擎库,它为Java开发人员提供了强大的文本搜索功能。理解Lucene的索引结构原理对于优化搜索性能和设计高效的搜索应用至关重要。 首先,我们...

    lucene索引结构原理.docx

    而在Lucene中,基本单位是Document,它同样由多个字段组成,但Lucene索引的是这些字段的内容,以加速文本检索。 - **索引构建**:Lucene支持增量索引和批量索引,可以处理数据源的小幅变化或大规模数据。数据库通常...

    lucene索引优化多线程多目录创建索引

    本教程主要探讨的是如何利用Lucene进行索引优化,特别是通过多线程和处理多个目录来提高索引创建效率。 首先,我们需要理解Lucene的索引原理。Lucene将文档分解为词项(tokens),并对每个词项创建倒排索引。倒排...

    Lucene读取索引文件

    一个Lucene索引是由多个文件组成的,包括但不限于 segments文件、.del文件(删除文档标记)、.tii和.tis文件(Term Info Index和Term Info postings)、.frx、.fdx、.fdt、.fdt(Field Data)等。这些文件共同构成了...

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

    二、Lucene索引创建流程 1. 初始化:首先,我们需要导入Lucene库,并创建一个标准的Analyzer,例如StandardAnalyzer,它对输入的文本进行标准化处理。 2. 创建索引目录:索引数据会存储在一个Directory对象中,...

    Lucene索引分析工具

    4. **ClassFinder.dll**:这可能是一个辅助库,用于查找和加载类,帮助工具识别和操作Lucene索引相关的类。 5. **LukePlugin.dll**:这是LukeNet的插件库,可能包含了一些扩展功能,如支持特定的分词器或者提供额外...

    基于Lucene索引的分析与实现

    搜索时,用户输入的查询会被转换成词项列表,然后Lucene会查找这些词项在索引中的对应信息,通过评分算法确定相关性,最终返回最相关的文档。 在实现过程中,需要关注的关键步骤包括: - 文档解析:将非结构化的...

    lucene 4.7.2 Demo

    本文将深入探讨Lucene 4.7.2的特性,包括创建、删除和修改索引,以及高级搜索功能如通用对象搜索、范围搜索、排序和高亮显示。 首先,让我们了解如何利用Lucene 4.7.2创建索引。创建索引是全文检索的基础,它涉及将...

    Lucene索引搜索简介以及入门实例源码.rar

    **Lucene索引搜索简介** Lucene是Apache软件基金会下的一个开源全文搜索引擎库,它提供了高性能、可扩展的文本搜索功能。Lucene并不是一个完整的搜索引擎,而是一个工具集,允许开发人员在自己的应用程序中实现搜索...

    Lucene5学习之增量索引(Zoie)

    Index Provider负责创建和更新索引,而Index User则负责查询这些索引。当新的数据到来时,Index Provider会生成一个新的索引版本,并将这个版本推送给Index User,而旧的索引版本则被保留,以便在新版本不稳定时回滚...

    lucene索引的简单使用

    创建Lucene索引主要包括以下几个步骤: 1. **创建Analyzer**:Analyzer负责分词,即将输入的文本拆分成一个个有意义的词语。根据语言特性,可以选择不同的Analyzer,如StandardAnalyzer(默认)适用于英文,...

    Lucene5写的全文搜索的demo,包括创建索引和搜索

    索引是基于文档内容建立的一种数据结构,用于快速查找匹配特定查询的文档。在 `src` 目录中,可能包含了一个名为 `Indexer` 的类,负责读取文本文件并构建索引。 - 创建索引的过程通常包括以下步骤: - 初始化:...

    Lucene建立索引

    倒排索引是Lucene实现搜索的核心机制,它允许快速查找包含特定关键词的文档。本工程旨在为初学者提供一个入门Lucene建立索引的实例,帮助理解并掌握这一技术。 **正文:** 1. **Lucene简介** - Lucene是一个高...

    lucene 索引工具源码(桌面版)

    结合“CreateIndex”这个文件名,我们可以推测这个工具可能包含了索引创建的整个流程,包括读取数据源、分词、建立倒排索引以及保存索引到磁盘。通过阅读源码,我们可以学习如何配置和使用这些组件,以及如何优化...

    Lucene对本地文件多目录创建索引

    - `lukeall-0.8.1.jar`:Luke是一个用于查看和分析Lucene索引的工具,可以帮助开发者调试和理解索引结构。 - `log4j-1.2.12.jar`:日志框架,用于记录程序运行时的信息。 - `commons-httpclient-3.1.jar`:可能是...

    Lucene.net建立索引,检索分页Demo

    **Lucene.net 知识点详解** Lucene.net 是 Apache Lucene 的 .NET 版本,...以上就是关于 Lucene.net 建立索引、检索及分页的关键知识点。理解并熟练运用这些概念,可以帮助开发者构建高效、灵活的全文搜索解决方案。

    Lucene检索文本,建立索引

    在这个场景中,我们将探讨如何利用Lucene来检索文本并建立索引,同时结合Struts框架构建一个Web程序。 首先,**Lucene** 是一个开源的Java库,它提供了完整的搜索功能,包括分词、索引创建、查询解析和结果排序。它...

    Lucene4.X实战类baidu搜索的大型文档海量搜索系统-03.Lucene索引里有什么 共17页.pptx

    1. **Lucene索引基础** - Lucene的索引是建立在一系列文档基础上的,每个文档由多个字段(Fields)组成,字段中包含一系列的术语(Terms)。术语是索引的基本单位,它们在不同字段内被认为是不同的。 - 倒排索引...

Global site tag (gtag.js) - Google Analytics