终于全文检索这块弄完了,在此总结一下。
先介绍一下为什么要用全文检索,当数据库查询字符串时 通常用like 来进行比较,当有大量文本时,从中检索出有用的信息会产生大量的性能开销,而全文检索,则是先对文本进行分词,然后对词进行索引,因此你搜索一个词时 ,速度会很快。
不过建立索引的过程 也是一个很大的开销,^_^。索引只需要建立一次,以后就可以很方便的进行查询了。
lucene是一个用java编写的全文检索的组件,是对上面的全文检索原理的实现,可以很方便的集成到自己的系统中,实现自己的全文检索。lucene对中文支持不好,需要使用其他的中文分词包,目前比较好的 有:ik,paoding,je 等。
lucene的基本存储单位是 document ,可以将其和record等价,因此你可以写convert方法,将record转换成document就能进行索引了。field可以看成字段
lucene有 delete,save,search三个基本操作。
delete操作, indexReader.delete(term),indexReader(int doc)
indexwriter 中也有相应的方法
save 操作,只能通过indexwriter 来进行 indexwrite.addDocument()
查询 . indexsearch.search(query ,topcollector)
有 termquery 可以查询一个字段,booleanquery可以查询多个字段
lucene还支持查询语法,常用的有 and or not 其他的我没去记 ^_^
topcollector 中有一个topdocs()方法,这个方法是生成 topdoc[] 只能调用一次。
分享到:
相关推荐
lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记
【谁在使用Lucene】 许多知名项目和产品都在使用Lucene,例如Eclipse的内置帮助搜索系统,Jive Web论坛,以及EyeBrows邮件列表的HTML归档、浏览和查询系统。这表明Lucene在各种领域都得到了广泛应用,尤其在信息...
根据提供的文件信息,以下是对Lucene 3.5版本的核心知识点进行的详细解析与总结: ### Lucene 3.5 概述 Lucene 3.5 是一款高性能的全文检索引擎工具包,广泛应用于搜索引擎、文档管理和内容管理等领域。Lucene 的...
Lucene学习总结之一:全文检索的基本原理 Lucene学习总结之二:Lucene的总体架构 Lucene学习总结之三:Lucene的索引文件格式(1) Lucene学习总结之三:Lucene的索引文件格式(2) Lucene学习总结之三:Lucene的...
lucene总结 使用文档 详细可参考。有做好的项目,不会使用的人可联系我...lucene总结 使用文档 详细可参考。有做好的项目,不会使用的人可联系我
Java搜索工具——Lucene实例总结(一) 在Java开发中,搜索引擎已经成为不可或缺的一部分,而Apache Lucene正是一个强大的全文搜索引擎库。这篇博文将带你深入理解Lucene的基本概念和使用方式,帮助你快速入门并掌握...
**Lucene学习总结** 在深入理解Lucene之前,我们首先需要了解什么是全文检索。全文检索是一种从大量文本数据中快速查找所需信息的技术。它通过建立索引来实现高效的搜索,而Lucene正是Java环境下最著名的全文搜索...
**Lucene 3.1 使用教程** Lucene 是一个高性能、全文检索库,由Apache软件基金会开发并维护。它提供了一个简单但功能强大的API,使得开发者可以轻松地在应用程序中集成全文检索功能。本教程主要关注的是Lucene 3.1...
### Lucene基础知识总结 #### 一、Lucene简介与核心概念 **Lucene**是一款高性能、全文搜索引擎库,由Java...以上内容总结了在学习和使用Lucene过程中的关键知识点,希望能帮助读者更好地理解和应用Lucene的技术。
总结,这个简单的Lucene开发示例展示了如何将数据库中的数据构建为Lucene索引,以及如何使用这些索引执行搜索。在实际应用中,可能还需要考虑更复杂的查询逻辑、优化性能、错误处理等其他方面。随着对Lucene的深入...
24 Lucene学习总结之八:Lucene的查询语法,JavaCC及QueryParser(1)
### Lucene 使用教程 #### 一、Lucene简介 Lucene是一个高性能、全功能的文本搜索引擎库,由Java编写而成,被广泛应用于各种基于文本的数据检索场景中。无论是用于网站内容搜索还是文档管理系统的全文搜索功能,...
本文将重点介绍 Lucene 2.4 版本的基本概念和使用方法,帮助初学者快速入门。 ### 一、Lucene 概述 1. **核心概念**:Lucene 的主要组件包括索引(Index)、文档(Document)、字段(Field)和查询(Query)。索引...
lucene是一个全文搜索框架,它提供接口,由用户自由实现。 本资源为对lucene的学习+收集
- 搜索执行:Lucene 使用布尔运算、短语匹配、模糊搜索等多种策略来匹配查询与索引中的词项,生成一个匹配度评分的候选文档集合。 - 结果排序:根据评分对匹配的文档进行排序,返回最相关的文档给用户。 总之,...
总结来说,Lucene.NET为.NET开发者提供了强大的全文搜索工具,通过构建索引、多关键字匹配、搜索执行和结果处理,可以构建高效、灵活的全文搜索引擎。在实际应用中,根据需求可以进一步定制Analyzer、Query和结果...