1.建立索引
File indexDir=new File("E:\\Index\\");
Analyzer luceneAnalyzer=new StandardAnalyzer(Version.LUCENE_35);
IndexWriter indexWriter=null;
try {
IndexWriterConfig indexWriterConfig=new IndexWriterConfig(Version.LUCENE_35,luceneAnalyzer);
indexWriter=new IndexWriter(SimpleFSDirectory.open(indexDir),indexWriterConfig);
Field f1=new Field("name","",Field.Store.YES,Field.Index.ANALYZED);
Field f2=new Field("address","",Field.Store.YES,Field.Index.ANALYZED);
ResultSet rs=getResultSet("select * from authors");
while(rs.next())
{
Document doc=new Document();
f1.setValue(rs.getString(2));
System.out.println(rs.getString(2));
doc.add(f1);
f2.setValue(rs.getString(4));
doc.add(f2);
System.out.println(rs.getString(4));
indexWriter.addDocument(doc);
}
System.out.println("DocNum:"+indexWriter.numDocs());
indexWriter.commit();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
finally
{
try {
indexWriter.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
Field.Store.YES或者NO(存储域选项)
设置为YES表示或把这个域中的内容完全存储到文件中,方便进行文本的还原
设置为NO表示把这个域的内容不存储到文件中,但是可以被索引,此时内容无法完全 还原(doc.get是为null)
Field.Index(索引选项)
Index.ANALYZED:进行分词和索引,适用于标题、内容等
Index.NOT_ANALYZED:进行索引,但是不进行分词,如果身份证号,姓名,ID等,适 用于精确搜索
Index.ANALYZED_NOT_NORMS:进行分词但是不存储norms信息,这个norms中包括 了创建索引的时间和权值等信息
Index.NOT_ANALYZED_NOT_NORMS:即不进行分词也不存储norms信息
Index.NO:不进行索引
2.查找索引
IndexSearcher indexSearcher=null;
String [] queryFileds = {"name","address"};
try {
Directory dir=new SimpleFSDirectory(new File("E:\\Index"));
indexSearcher=new IndexSearcher(IndexReader.open(dir));
QueryParser queryParser=new MultiFieldQueryParser(Version.LUCENE_35,queryFileds,new StandardAnalyzer(Version.LUCENE_35));
String key="宁";
Query query=queryParser.parse(key);
TopDocs topDocs=indexSearcher.search(query,10);
System.out.println("Total:"+topDocs.totalHits);
for(ScoreDoc scoreDoc:topDocs.scoreDocs)
{
Document doc=indexSearcher.doc(scoreDoc.doc);
System.out.println(doc.get("name"));
System.out.println(doc.get("address"));
}
indexSearcher.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
分享到:
相关推荐
《Lucene 3.5 学习笔记》 在信息技术高速发展的今天,搜索引擎技术成为了信息检索的核心工具。Apache Lucene,作为一个开源全文检索库,为开发者提供了强大的文本搜索功能。本文将深入探讨Lucene 3.5版本的相关知识...
### Lucene 3.5 学习笔记 #### 一、Lucene 3.5 基本概念 ##### 1.1 Lucene 概述 **1.1.1 IndexWriter** `IndexWriter` 是 Lucene 中的核心类之一,用于创建或更新索引。它提供了添加文档、删除文档、优化索引等...
本压缩包包含的是Lucene 3.5.0版本的全部源码,对于想要深入理解Lucene工作原理、进行二次开发或者进行搜索引擎相关研究的开发者来说,是一份非常宝贵的学习资源。 Lucene 3.5.0是Lucene的一个重要版本,它在3.x...
不过,对于理解搜索引擎的工作机制和学习基本的全文搜索实现,Lucene 3.5仍然是一个很好的起点。通过深入研究这个压缩包中的各种包和源码,开发者可以掌握如何构建一个高效的全文搜索系统,并在此基础上进行扩展和...
开发者可以通过源代码学习如何集成Lucene到自己的项目中,以实现高效、精确的全文检索功能。 总结,Lucene 3.5的源代码是理解其工作原理的宝贵资源。通过对源码的深入研究,开发者不仅可以掌握Lucene的基本操作,还...
《深入探索Lucene 3.5:学习研究报告》 Lucene 3.5是一个重要的版本更新,它在2011年11月26日发布,为搜索引擎开发者提供了更高效、更稳定的功能。该版本在性能优化、新特性和错误修复上取得了显著的进步。 首先,...
《深入剖析Lucene 3.5源码:揭示搜索引擎核心技术》 Lucene 3.5是Apache Lucene项目的一个重要版本,它是一个高性能、全文本搜索库,为开发者提供了强大的文本搜索功能。作为开源软件,Lucene的源码对学习和理解...
**正文** Lucene 是一个由 Apache 软件基金会开发的全文搜索引擎库,它提供了强大的文本分析和索引功能,广泛应用于各种信息检索系统。...理解这些基础知识对于深入学习 Lucene 的后续版本至关重要。
在“关于lucene3.5的使用”这个主题中,我们将深入探讨Lucene 3.5的关键特性、核心组件以及如何通过实例进行应用。首先,我们需要了解以下几个核心概念: 1. **索引(Index)**:Lucene 的工作基于索引,就像书籍的...
在本篇文章中,我们将深入探讨 Lucene 3.5 版本的 API,尽管它是英文版,但其丰富的功能和详细文档使其对开发者极具价值。 1. **Lucene 的基本概念** - **索引(Index)**:Lucene 使用倒排索引(Inverted Index)...
Lucene测试程序3.5是一款基于Java开发的小型应用,主要用于验证和学习Lucene 3.5版本的功能。Lucene是一个高度成熟、功能强大的全文搜索引擎库,由Apache软件基金会开发并维护。它提供了丰富的API,允许开发者在应用...
**Lucene 索引图形化界面工具 LukeAll 3.5~4.0** Lucene 是一个开源的全文搜索引擎库,它提供了强大的文本搜索功能,但其本身的接口设计是命令行或者编程式的,对于非开发人员或者在调试索引时可能会显得不太友好。...
《深入剖析Luke 3.5源码:洞察Lucene索引查看工具的奥秘》 Luke 3.5是一款强大的Lucene索引查看工具,它为开发者提供了直观、详尽的方式来浏览和分析Lucene创建的索引。在这个版本中,Luke提供了一种直观的方式,使...
4. **案例中的“lucene3.5全文检索案例”** 这个压缩包可能包含了基于 Lucene 3.5 版本的一个全文检索示例项目。用户可以通过学习这个案例了解如何在实际项目中集成和使用 Lucene,包括设置 Analyzer、构建索引、...
### Lucene基础知识总结 #### 一、Lucene简介与核心概念 **Lucene**是一款高性能、全文搜索引擎库,由Java...以上内容总结了在学习和使用Lucene过程中的关键知识点,希望能帮助读者更好地理解和应用Lucene的技术。
### Apache Solr Reference Guide v3.5:关键知识点解析 #### 一、Solr与Lucene简介 **Solr** 是一个高性能、可扩展的...通过学习这些知识点,可以更好地理解和运用Solr的强大功能,从而实现高效的数据检索和管理。
- **3.5 存储提取内容**:探讨了如何高效存储提取到的文本内容。 #### 中文分词原理与实现 **第4章**“中文分词原理与实现”详细探讨了中文分词的相关理论和技术实现。这一章节覆盖了中文分词的基本原理、算法实现...