一个document包括多个field,以一个document为了一个单元建立索引,下例包括2个document:
package bindex;
import java.io.IOException;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.store.LockObtainFailedException;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
public class basicindexer {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String indexPath ="indexes";
try {
IndexWriter indexWriter = new IndexWriter(indexPath,new StandardAnalyzer());
Document doc=new Document();
String blogtitle="计算机软件技术与理论交流";
String blogauthor="深未来工作室(deepfuture@qq.com)-深度创造未来";
String blogurl="http://blog.163.com/sukerl@126/";
Field field=new Field("title",blogtitle,Field.Store.YES,Field.Index.TOKENIZED);
doc.add(field);
field=new Field("author",blogtitle,Field.Store.YES,Field.Index.TOKENIZED);
doc.add(field);
field=new Field("url",blogurl,Field.Store.YES,Field.Index.NO);
doc.add(field);
indexWriter.addDocument(doc);
doc=new Document();
blogtitle="深未来工作室 ";
blogauthor="深未来工作室(deepfuture@qq.com)-深度创造未来";
blogurl="http://1121240010.qzone.qq.com/";
field=new Field("title",blogtitle,Field.Store.YES,Field.Index.TOKENIZED);
doc.add(field);
field=new Field("author",blogtitle,Field.Store.YES,Field.Index.TOKENIZED);
doc.add(field);
field=new Field("url",blogurl,Field.Store.YES,Field.Index.NO);
doc.add(field);
indexWriter.addDocument(doc);
indexWriter.close();
System.out.println("OK!");
} catch (CorruptIndexException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (LockObtainFailedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
**Lucene5学习之创建索引入门示例** 在IT领域,搜索引擎的开发与优化是一项关键技术,而Apache Lucene作为一款高性能、全文本搜索库,是许多开发者进行文本检索的首选工具。本文将深入探讨如何使用Lucene5来创建一...
`lucene入门小实例.txt` 文件中可能包含了一个简单的Lucene使用示例,例如: 1. 创建 `Directory` 对象,比如使用 `FSDirectory.open()` 打开一个文件系统的目录来存储索引。 2. 实例化 `Analyzer`,如使用 `...
在“lucene入门小例子”中,可能包含创建索引、添加文档、查询和显示结果等基本操作的示例代码。这些代码将帮助你了解如何在实际项目中集成和使用Lucene,进一步熟悉全文检索的原理和实践。 在学习过程中,你可能会...
### Lucene快速入门知识点 #### 1. Lucene简介 ##### 1.1 Lucene的历史 - **创始人**: Lucene由一位资深的全文索引/检索专家开发。 - **开源历程**: 最初发布在其个人主页上,2001年10月捐赠给Apache基金会,成为...
### Lucene 入门基础教程知识点详解 #### 一、Lucene简介 - **定义**:Lucene是一款高性能、全功能的文本搜索引擎库,由Java编写而成,属于Apache项目的一部分。 - **适用场景**:适合于任何需要进行全文检索的应用...
以上是Lucene入门的基本知识和关键概念,通过深入学习和实践,你可以掌握如何利用Lucene构建强大的全文搜索引擎。记住,实践中遇到的问题往往是最好的学习资源,不断尝试和解决,你将逐渐成为Lucene的专家。
Lucene 的索引是高度结构化的,允许开发者进行复杂的搜索操作,如短语搜索、邻近搜索、布尔查询等。 #### Lucene 在实际中的应用 在实际的应用中,Lucene 可以被用于网站的站内搜索,也可以嵌入到其他软件中实现...
lucene索引入门 Lucene 是一个基于 Java 的全文搜索引擎库,提供了一个简单、灵活、可扩展的搜索解决方案。Lucene 的核心组件包括索引模块、检索模块、语言分析器、查询分析器、存储结构等。 1. 索引模块(Index)...
3. **索引(Index)**:Lucene通过建立索引来提高搜索速度。索引是一个结构化的数据存储,包含了文档的关键信息,便于快速查找。 4. **分析器(Analyzer)**:在建立索引前,Lucene会使用分析器对文本进行处理,如...
以上就是一个基础的Lucene入门示例,展示了如何使用Lucene创建索引、添加文档以及执行搜索。当然,实际应用中,Lucene的功能远不止这些,还包括更复杂的查询表达式、评分机制、多字段索引、倒排索引优化、近实时搜索...
2. **工作流程**:使用 Lucene 首先需要创建索引,这涉及到对原始数据的分析、分词、建立倒排索引等步骤。然后,用户可以提交查询,Lucene 将根据查询条件在索引中查找匹配的文档。 ### 二、Lucene 2.4 API 使用 #...
【Lucene入门知识详解】 Lucene是一个基于Java的全文索引引擎工具包,它并不是一个完整的全文搜索引擎,而是提供了一套构建搜索引擎的基础组件。Lucene的主要目标是方便开发者将其集成到各类应用程序中,以实现高效...
Lucene 提供了完整的搜索功能,包括索引创建、查询解析、评分和结果排序等。 1. **全文搜索引擎**: 全文搜索引擎是能够理解文档内容,并生成索引以支持快速查询的系统。Lucene 提供了这个功能,它能够处理各种格式...
**Lucene 入门详解** Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发,广泛应用于各种搜索引擎和信息检索系统。它提供了丰富的文本处理、索引和搜索功能,允许开发者轻松地在应用程序中实现复杂的...
- **全文检索系统的结构**:通常包括文档的输入、文档预处理、索引建立、索引存储、查询处理、文档检索及排序等多个环节。 - **为什么选择Lucene**:主要优点包括索引文件格式的独立性、分块索引机制、优秀的面向...
- **Document添加与索引建立**: 首先创建Document对象,然后添加Field,最后使用IndexWriter将Document添加到索引中。 3. **搜索机制** - **QueryParser**: 用于构建查询,解析用户输入的查询字符串,生成Query...
总结起来,Lucene入门涉及理解其索引和查询机制,掌握如何在Java项目中创建、管理和使用索引,以及如何执行有效的查询。CargoSearchServiceImpl.java和ManageCargoIndexServiceImpl.java代表了具体实现这些功能的...
- **书籍推荐**:《Lucene in Action》是一本非常优秀的Lucene入门书籍,详细介绍了Lucene的核心概念和技术细节。 通过上述内容的学习,读者能够系统地掌握Lucene的基本原理、核心技术及应用场景,为进一步开发基于...