Lucene是apache软件基金会 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎应用,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。
Lucene入门、 全文检索的概念,倒排索引的概念、 建立索引、 搜索、 中文分词的实现、 Nutch入门、 串知识点Html,css,javascript,servlet,jsp,mysql, 介绍MVC的概念、 演示借用一些javascript的成熟的框架实现页面的特殊效果。例如:rico、 学会使用myeclipse、 熟悉mysql数据库的用法、 什么时候用lucene、 数据库大量数据,文本。
本文主要叙述如何通过引入Commons-VFS项目来扩展Lucene的索引文件存储方式。在阅读本文之前,您必须对Lucene有一定的了解,最好是有编写过Lucene代码。另外文章中所提到的Lucene如果不做特殊说明指的是Lucene的Java版本。使用过Lucene来做为搜索引擎的朋友知道,Lucene默认的使用文件系统来存储索引文件。
概述本手册首先介绍了Lucene的概念,详细描述了简单快速地将Lucene融入WEBDT运行平台并进行实际开发的方法,使技术人员对Lucene有一个概要性的框架认识,为下一步开发工作奠定基础。LUCENE简介什么是LUNCENELucene是一套javaAPI,就如同Servlet是一套API一样。Lucene不是一个独立的搜索引擎系统,但是你可以使用Luncene来开发搜索引擎系统。这正如Servlet不是网站系统但是你可以用Servlet开发网站一样。有人已经用Lucene开发出了独立的搜索引擎系统,你可以下载,然后不写一行代码就是用它。Nutch是最出名的了。
lucene默认的排序方式,在lucene中也被称为“评分机制”,可以同过给sort对象传递一个null来实现,也可以通过调用sort默认的构造函数来实现
Lucene3.0之结果排序(1):原理传统上,人们将信息检索系统返回结果的排序称为“相关排序”(relevanceranking),隐含其中各条目的顺序反映结果和查询的相关程度。
Lucene是一个高效的,基于Java的全文检索库。所以在了解Lucene之前要费一番工夫了解一下全文检索。那么什么叫做全文检索呢?这要从我们生活中的数据说起。我们生活中的数据总体分为两种:结构化数据和非结构化数据。结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等。当然有的地方还会提到第三种,半结构化数据,如XML,HTML等,当根据需要可按结构化数据来处理,也可抽取出纯文本按非结构化数据来处理。
Lucene是一个全文搜索框架,而不是应用产品。因此它并不像www.baidu.com 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。
Compass是一流的开放源码JAVA搜索引擎框架,对于你的应用修饰,搜索引擎语义更具有能力。依靠顶级的Lucene搜索引擎,Compass结合了,像Hibernate和Spring的流行的框架,为你的应用提供了从数据模型和数据源同步改变的搜索力.
Lucene基础指南Lucene是apache下的一个采用java实现的全文搜索引擎,功能非常强大,而它的API又比较简单,主要就做两件事:建立索引和进行搜索。
全文检索(Full-Text Retrieval)是指以文本作为检索对象,找出含有指定词汇的文本。全面、准确和快速是衡量全文检索系统的关键指标。 关于全文检索,我们要知道:1,只处理文本。2,不处理语义。3,搜索时英文不区分大小写。4,结果列表有相关度排序。
Lucene的索引结构从大到小分为以下几个概念:index,segments,document(以下可能简称为doc),field,termIndex(索引),一个索引,包括所有需要的信息内容;Segments(段),可以理解为一个子索引(sub-index),每当往index中新加入一个doc时,都会新生成一个segments保存这个doc,然后通过判断,合并部分segments,最后通过优化索引的命令,把所有的segments合并成一个index;Document(文档),一般以document为单位往index中添加记录,一个document可以是一个txt,一个html或者是数据库的一条记录。一个document由几个field的组成;
Lucene是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。Lucene以其方便使用、快速实施以及灵活性受到广泛的关注。它可以方便地嵌入到各种应用中实现针对应用的全文索引、检索功能,本总结使用lucene--2.3.2。
Directory的另外一个实现类是RAMDirectory,测试的时候可以将索引保存在内存中,然后测试完成后就自动销毁了,不在硬盘中留下任何痕迹。 2:Lucene只能处理文本。因为Lucene的内核本身只处理String和Reader两种对象。可以处理非文本,但是处理起来没有那么简单,需要转换。
网络中的资源非常丰富,但是如何有效的搜索信息却是一件困难的事情。建立搜索引擎就是解决这个问题的最好方法。本文首先详细介绍了基于英特网的搜索引擎的系统结构,然后从网络机器人、索引引擎、Web服务器三个方面进行详细的说明。为了更加深刻的理解这种技术,本人还亲自实现了一个自己的搜索引擎——新闻搜索引擎。 新闻搜索引擎是从指定的Web页面中按照超连接进行解析、搜索,并把搜索到的每条新闻进行索引后加入数据库。然后通过Web服务器接受客户端请求后从索引数据库中搜索出所匹配的新闻。 本人在介绍搜索引擎的章节中除了详细的阐述技术核心外还结合了新闻搜索引擎的实现代码来说明,图文并茂、易于理解。
全文检索是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程。全文检索系统是按照全文检索理论建立起来的用于提供全文检索服务的软件系统。
Lucene简介、Lucene工程代码结构、核心Index类介绍、Lucene各种Query 。
Lucene是什么包括:全文索引库。简单的语言解析功能。不包括:爬虫、文档格式解析、“PageRank”等排序算法。
Lucene是一个使用Java语言写的全文检索开发包(API),利用它可以实现强大的检索功能,它的详细介绍大家可以去Google上搜索一下,本文重点放在Solr相关的讨论上。