# Lucene 3.0 原理与代码分析

**URL:** <https://www.isharkfly.com/t/lucene-3-0/10168>\
**Category:** 查询检索\
**Created:** [January 28, 2012, 2:20am UTC](https://www.isharkfly.com/t/lucene-3-0/10168 "2012-01-28T02:20:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [January 28, 2012, 2:20am UTC](https://www.isharkfly.com/t/lucene-3-0/10168/1 "2012-01-28T02:20:28Z")

</div>

本系列文章将详细描述几乎最新版本的Lucene的基本原理和代码分析。

Lucene 是一个高效的，基于Java 的全文检索库。

所以在了解Lucene之前要费一番工夫了解一下全文检索。

那么什么叫做全文检索呢？这要从我们生活中的数据说起。

我们生活中的数据总体分为两种：结构化数据 和非结构化数据 。

结构化数据： 指具有固定格式或有限长度的数据，如数据库，元数据等。

非结构化数据： 指不定长或无固定格式的数据，如邮件，word文档等。

当然有的地方还会提到第三种，半结构化数据，如XML，HTML等，当根据需要可按结构化数据来处理，也可抽取出纯文本按非结构化数据来处理。

非结构化数据又一种叫法叫全文数据。

封面

 ![](https://com-ossez-www-discourse.s3.dualstack.us-east-2.amazonaws.com/discourse-uploads/original/2X/d/de78992dd9eafb437f950997568592a051aaa6e0.png)
